בדף הזה מוסבר איך לעבד נתונים גיאוגרפיים בקובץ ה-KML
פורמט, נעשה שימוש ב-GMUKMLParser
ב
יחד עם GMUGeometryRenderer
. KML הוא פופולרי
לעיבוד נתונים גיאוגרפיים כמו נקודות, קווים ופוליגונים.
בצילום המסך הבא מוצגים נתוני KML לדוגמה שמופיעים במפה:
![מפה עם נתוני KML](https://developers.google.cn/static/maps/documentation/ios-sdk/images/kml-render-example.png?authuser=8&hl=he)
דרישות מוקדמות והערות
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