此页面介绍了如何将 GMUGeoJSONParser
与 GMUGeometryRenderer
结合使用,以 GeoJSON 格式渲染地理数据。GeoJSON 是一种渲染地理数据(例如点、线和多边形)的常用格式。
前提条件和说明
GMUGeoJSONParser
是 Maps SDK for iOS 实用程序库的一部分。如果您尚未设置该库,请先按照设置指南操作,然后再阅读本页面的其余内容。
如需查看完整的代码示例,请参阅 GitHub 上的示例应用。
渲染 GeoJSON 数据
如需在地图上渲染 GeoJSON 数据,请创建一个 GMUGeoJSONParser
,其中包含 GeoJSON 资源(在此示例中为 GeoJSON_sample.kml
)的路径。然后,创建一个 GMUGeometryRenderer
,并传递 GMUKMLParser
实例。最后,调用 GMUGeometryRenderer.render()
。以下代码示例展示了如何在地图上渲染 GeoJSON 数据:
Swift
import GoogleMapsUtils class GeoJSON { private var mapView: GMSMapView! func renderGeoJSON() { guard let path = Bundle.main.path(forResource: "GeoJSON_sample", ofType: "json") else { return } let url = URL(fileURLWithPath: path) let geoJsonParser = GMUGeoJSONParser(url: url) geoJsonParser.parse() let renderer = GMUGeometryRenderer(map: mapView, geometries: geoJsonParser.features) renderer.render() } }
Objective-C
@import GoogleMapsUtils; @implementation GeoJSON { GMSMapView *_mapView; } - (void)renderGeoJSON { NSString *path = [[NSBundle mainBundle] pathForResource:@"GeoJSON_sample" ofType:@"json"]; NSURL *url = [NSURL fileURLWithPath:path]; GMUGeoJSONParser *parser = [[GMUGeoJSONParser alloc] initWithURL:url]; [parser parse]; GMUGeometryRenderer *renderer = [[GMUGeometryRenderer alloc] initWithMap:_mapView geometries:parser.features]; [renderer render]; } @end