این صفحه به شما نشان میدهد که چگونه دادههای جغرافیایی را در قالب KML، با استفاده از GMUKMLParser
در ارتباط با GMUGeometryRenderer
ارائه کنید. KML یک فرمت محبوب برای ارائه داده های جغرافیایی مانند نقاط، خطوط و چند ضلعی ها است.
تصویر زیر نمونه ای از داده های KML ارائه شده بر روی نقشه را نشان می دهد:
پیش نیازها و نکات
GMUKMLParser
بخشی از Maps SDK برای کتابخانه ابزار iOS است. اگر هنوز کتابخانه را راهاندازی نکردهاید، قبل از خواندن بقیه این صفحه ، راهنمای راهاندازی را دنبال کنید.
برای نمونه کد کامل، به نمونه برنامهها در GitHub مراجعه کنید.
ارائه داده های KML
برای ارائه داده های KML روی نقشه، یک GMUKMLParser
با مسیر منبع KML ایجاد کنید ( KML_Sample.kml
در این مثال). سپس، یک GMUGeometryRenderer
ایجاد کنید که نمونه GMUKMLParser
را ارسال می کند. در نهایت، GMUGeometryRenderer.render()
را فراخوانی کنید. مثال کد زیر نمایش داده های KML را بر روی نقشه نشان می دهد:
سویفت
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() } }
هدف-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