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