En esta página, se muestra cómo procesar datos geográficos en formato KML mediante el uso de GMUKMLParser
junto con GMUGeometryRenderer
. KML es un formato popular para procesar datos geográficos como puntos, líneas y polígonos.
En la siguiente captura de pantalla, se muestran algunos datos KML de ejemplo procesados en un mapa:

Requisitos previos y notas
GMUKMLParser
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 KML
Para procesar datos KML en un mapa, crea un objeto GMUKMLParser
con la ruta de acceso a un recurso KML (KML_Sample.kml
en este ejemplo). Luego, crea un GMUGeometryRenderer
que pase la instancia GMUKMLParser
. Por último, llama a GMUGeometryRenderer.render()
. En el siguiente ejemplo de código, se muestra cómo procesar datos KML en un mapa:
Swift
import GoogleMapsUtils class KML: NSObject { private var mapView: GMSMapView! func renderKml() { guard let path = Bundle.main.path(forResource: "KML_Sample", ofType: "kml") else { print("Invalid path") return } let url = URL(fileURLWithPath: path) let kmlParser = GMUKMLParser(url: url) kmlParser.parse() let renderer = GMUGeometryRenderer( map: mapView, geometries: kmlParser.placemarks, styles: kmlParser.styles ) renderer.render() } }
Objective‑C
@import GoogleMapsUtils; @implementation KML { GMSMapView *_mapView; } - (void)renderKml { NSString *path = [[NSBundle mainBundle] pathForResource:@"KML_Sample" ofType:@"kml"]; NSURL *url = [NSURL fileURLWithPath:path]; GMUKMLParser *parser = [[GMUKMLParser alloc] initWithURL:url]; [parser parse]; GMUGeometryRenderer *renderer = [[GMUGeometryRenderer alloc] initWithMap:_mapView geometries:parser.placemarks styles:parser.styles]; [renderer render]; } @end