KML

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

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

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

מפה עם נתוני KML

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

האפליקציה GMUKMLParser היא חלק מ-Maps SDK for 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