KML

בחירת פלטפורמה: Android iOS JavaScript

בדף הזה מוסבר איך לעבד נתונים גיאוגרפיים בקובץ ה-KML פורמט, נעשה שימוש ב-GMUKMLParser ב יחד עם GMUGeometryRenderer. KML הוא פופולרי לעיבוד נתונים גיאוגרפיים כמו נקודות, קווים ופוליגונים.

בצילום המסך הבא מוצגים נתוני KML לדוגמה שמופיעים במפה:

מפה עם נתוני KML

דרישות מוקדמות והערות

GMUKMLParser הוא חלק מ- SDK של Maps SDK ל-iOS Utility Library אם עדיין לא הגדרתם לעיין במדריך ההגדרה לפני שתקראו את שאר הדף.

כדי לראות את דוגמת הקוד המלאה, יש לעיין באפליקציות לדוגמה מופעלת GitHub.

רינדור נתוני KML

כדי לעבד נתוני KML במפה, צריך ליצור GMUKMLParser עם נתיב למשאב KML (KML_Sample.kml בדוגמה זו). לאחר מכן: יוצרים GMUGeometryRenderer שרוצים להעביר את GMUKMLParser מכונה. לסיום, להתקשר אל GMUGeometryRenderer.render(). הקוד הבא מציג עיבוד של נתוני KML במפה:

Swift

import GoogleMapsUtils

class KML: NSObject {
  private var mapView: GMSMapView!

  func renderKml() {
    guard let path = Bundle.main.path(forResource: "KML_Sample", ofType: "kml") else {
      print("Invalid path")
      return
    }

    let url = URL(fileURLWithPath: path)

    let kmlParser = GMUKMLParser(url: url)
    kmlParser.parse()

    let renderer = GMUGeometryRenderer(
      map: mapView,
      geometries: kmlParser.placemarks,
      styles: kmlParser.styles
    )

    renderer.render()
  }
}
      

Objective-C

@import GoogleMapsUtils;

@implementation KML {
  GMSMapView *_mapView;
}

- (void)renderKml {
  NSString *path = [[NSBundle mainBundle] pathForResource:@"KML_Sample" ofType:@"kml"];
  NSURL *url = [NSURL fileURLWithPath:path];
  GMUKMLParser *parser = [[GMUKMLParser alloc] initWithURL:url];
  [parser parse];
  GMUGeometryRenderer *renderer = [[GMUGeometryRenderer alloc] initWithMap:_mapView
                                                                geometries:parser.placemarks
                                                                    styles:parser.styles];
  [renderer render];
}

@end