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