בדף הזה מוסבר איך לעבד נתונים גיאוגרפיים בקובץ ה-KML
פורמט, נעשה שימוש ב-GMUKMLParser
ב
יחד עם GMUGeometryRenderer
. KML הוא פופולרי
לעיבוד נתונים גיאוגרפיים כמו נקודות, קווים ופוליגונים.
בצילום המסך הבא מוצגים נתוני KML לדוגמה שמופיעים במפה:
דרישות מוקדמות והערות
GMUKMLParser
הוא חלק מ-
API של 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