Questa pagina mostra come visualizzare i dati geografici in formato KML, utilizzando GMUKMLParser
in combinazione con GMUGeometryRenderer
. KML è un formato popolare per il rendering di dati geografici come punti, linee e poligoni.
Il seguente screenshot mostra alcuni dati KML di esempio visualizzati su una mappa:
Prerequisiti e note
GMUKMLParser
fa parte della libreria di utilità di Maps SDK for iOS. Se non hai ancora configurato la libreria, 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 elemento GMUKMLParser
con il
percorso di una risorsa KML (KML_Sample.kml
in questo esempio). Poi, crea un valore GMUGeometryRenderer
per passare l'istanza GMUKMLParser
. Infine, chiama il numero GMUGeometryRenderer.render()
. L'esempio di codice riportato di seguito 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