GeoJSON

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.
Sélectionnez une plate-forme : Android iOS JavaScript

Cette page vous explique comment effectuer le rendu des données géographiques au format GeoJSON à l'aide de GMUGeoJSONParser, en conjonction avec GMUGeometryRenderer. GeoJSON est un format populaire permettant d'afficher des données géographiques telles que des points, des lignes et des polygones.

Prérequis et remarques

GMUGeoJSONParser fait partie de la bibliothèque d'utilitaires du SDK Maps pour iOS. Si vous n'avez pas encore configuré la bibliothèque, suivez le guide de configuration avant de poursuivre la lecture de cette page.

Pour obtenir l'exemple de code complet, consultez les exemples d'applications sur GitHub.

Afficher des données GeoJSON

Pour afficher des données GeoJSON sur une carte, créez un GMUGeoJSONParser avec le chemin d'accès à une ressource GeoJSON (GeoJSON_sample.kml dans cet exemple). Ensuite, créez un GMUGeometryRenderer en transmettant l'instance GMUKMLParser. Enfin, appelez GMUGeometryRenderer.render(). L'exemple de code suivant montre le rendu des données GeoJSON sur une carte:

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