GeoJSON

Plattform auswählen: Android iOS JavaScript

Auf dieser Seite wird erläutert, wie geografische Daten im GeoJSON-Format mit GMUGeoJSONParser in Verbindung mit GMUGeometryRenderer gerendert werden. GeoJSON ist ein beliebtes Format zum Rendern geografischer Daten wie Punkten, Linien und Polygonen.

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

Erstelle zum Rendern von GeoJSON-Daten auf einer Karte eine 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 schließlich GMUGeometryRenderer.render() auf. Das folgende Codebeispiel zeigt das Rendern von GeoJSON-Daten auf einer Karte:

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