توضِّح لك هذه الصفحة كيفية عرض البيانات الجغرافية بتنسيق KML باستخدام GMUKMLParser
بالاقتران مع GMUGeometryRenderer
. تنسيق KML هو تنسيق شائع
لعرض البيانات الجغرافية مثل النقاط والخطوط والمضلعات.
تعرض لقطة الشاشة التالية بعض الأمثلة على بيانات KML المعروضة على الخريطة:
المتطلّبات الأساسية والملاحظات
GMUKMLParser
هو جزء من حزمة تطوير البرامج (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