GeoJSON

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.
Seleccionar plataforma: Android iOS JavaScript

En esta página, se muestra cómo procesar datos geográficos en formato GeoJSON, mediante el uso de GMUGeoJSONParser, junto con GMUGeometryRenderer. GeoJSON es un formato popular para procesar datos geográficos, como puntos, líneas y polígonos.

Requisitos previos y notas

GMUGeoJSONParser forma parte de la biblioteca de utilidades del SDK de Maps para iOS. Si aún no configuraste la biblioteca, sigue la guía de configuración antes de leer el resto de esta página.

Para ver la muestra de código completa, consulta las apps de muestra en GitHub.

Cómo procesar datos GeoJSON

Para procesar datos GeoJSON en un mapa, crea un GMUGeoJSONParser con la ruta a un recurso GeoJSON (GeoJSON_sample.kml en este ejemplo). Luego, crea un GMUGeometryRenderer y pasa la instancia GMUKMLParser. Por último, llama a GMUGeometryRenderer.render(). En el siguiente ejemplo de código, se muestra cómo procesar datos GeoJSON en un mapa:

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