Na tej stronie pokazujemy, jak renderować dane geograficzne w formacie GeoJSON przy użyciu GMUGeoJSONParser
w połączeniu z GMUGeometryRenderer
. GeoJSON to popularny format
do renderowania danych geograficznych, takich jak punkty, linie i wielokąty.
Wymagania wstępne i uwagi
GMUGeoJSONParser
jest częścią biblioteki narzędziowej pakietu Maps SDK na iOS. Jeśli nie masz jeszcze skonfigurowanej biblioteki, zapoznaj się z dalszymi informacjami z przewodnika po konfiguracji.
Pełen przykładowy kod znajdziesz w przykładowych aplikacjach na GitHubie.
Renderowanie danych GeoJSON
Aby wyrenderować dane GeoJSON na mapie, utwórz GMUGeoJSONParser
ze ścieżką do zasobu GeoJSON (GeoJSON_sample.kml
w tym przykładzie). Następnie utwórz obiekt GMUGeometryRenderer
przekazujący instancję GMUKMLParser
. Na koniec wywołaj funkcję GMUGeometryRenderer.render()
. Poniższy przykładowy kod pokazuje, jak renderować dane GeoJSON na mapie:
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