Questa pagina mostra come visualizzare i dati geografici nel formato KML, utilizzando GMUKMLParser
in combinazione con GMUGeometryRenderer
. KML è un formato popolare per il rendering dei dati geografici come punti, linee e poligoni.
Il seguente screenshot mostra alcuni esempi di dati KML visualizzati su una mappa:

Prerequisiti e note
GMUKMLParser
fa parte della Raccolta di Maps SDK for iOS. Se non hai ancora configurato la raccolta, segui la guida alla configurazione prima di leggere il resto di questa pagina.
Per l'esempio di codice completo, consulta le app di esempio su GitHub.
Rendering dei dati KML
Per visualizzare i dati KML su una mappa, crea un GMUKMLParser
con il percorso di una risorsa KML (KML_Sample.kml
in questo esempio). Dopodiché, crea un elemento GMUGeometryRenderer
che passi l'istanza GMUKMLParser
. Infine, chiama il numero GMUGeometryRenderer.render()
. Il seguente esempio di codice mostra il rendering dei dati KML su una mappa:
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