このページでは、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