GeoJSON

Plattform auswählen: Android iOS JavaScript

Auf dieser Seite wird beschrieben, wie geografische Daten im GeoJSON-Format mit GMUGeoJSONParser in Verbindung mit GMUGeometryRenderer gerendert werden. GeoJSON ist ein beliebtes Format zum Rendern geografischer Daten wie Punkte, Linien und Polygone.

Voraussetzungen und Hinweise

GMUGeoJSONParser ist Teil der Maps SDK for iOS-Dienstprogrammbibliothek. Wenn Sie die Bibliothek noch nicht eingerichtet haben, folgen Sie der Einrichtungsanleitung, bevor Sie mit dem Rest dieser Seite fortfahren.

Das vollständige Codebeispiel finden Sie in den Beispielanwendungen auf GitHub.

GeoJSON-Daten rendern

Zum Rendern von GeoJSON-Daten auf einer Karte erstellen Sie ein GMUGeoJSONParser mit dem Pfad zu einer GeoJSON-Ressource (in diesem Beispiel GeoJSON_sample.kml). Erstellen Sie dann ein GMUGeometryRenderer und übergeben Sie die Instanz GMUKMLParser. Rufen Sie abschließend GMUGeometryRenderer.render() auf. Im folgenden Codebeispiel wird gezeigt, wie GeoJSON-Daten auf einer Karte gerendert werden:

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