本页介绍了如何将 GMUKMLParser
与 GMUGeometryRenderer
结合使用,以 KML 格式呈现地理数据。KML 是一种常见的地理位置数据格式,可用于渲染点、线和多边形。
以下屏幕截图显示了地图上呈现的一些 KML 数据示例:

前提条件和说明
GMUKMLParser
是 Maps SDK for iOS 实用程序库的一部分。如果您尚未设置该库,请先按照设置指南操作,然后再阅读本页面的其余内容。
如需查看完整的代码示例,请参阅 GitHub 上的示例应用。
渲染 KML 数据
如需在地图上渲染 KML 数据,请使用 KML 资源的路径(在此示例中为 KML_Sample.kml
)创建一个 GMUKMLParser
。然后,创建一个传递 GMUKMLParser
实例的 GMUGeometryRenderer
。最后,调用 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