หน้านี้แสดงวิธีแสดงข้อมูลทางภูมิศาสตร์ในรูปแบบ KML โดยใช้ GMUKMLParser
ร่วมกับ GMUGeometryRenderer
KML เป็นรูปแบบที่ได้รับความนิยมในการแสดงผลข้อมูลทางภูมิศาสตร์ เช่น จุด เส้น และรูปหลายเหลี่ยม
ภาพหน้าจอต่อไปนี้แสดงตัวอย่างข้อมูล KML บางส่วนที่แสดงผลบนแผนที่
ข้อกำหนดเบื้องต้นและหมายเหตุ
GMUKMLParser
เป็นส่วนหนึ่งของ 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