Ta strona pokazuje, jak renderować dane geograficzne w KML.
używając formatu GMUKMLParser
w formacie
spójnik z GMUGeometryRenderer
. Format KML jest popularny
do renderowania danych geograficznych, takich jak punkty, linie i wielokąty.
Na poniższym zrzucie ekranu widać przykładowe dane KML wyrenderowane na mapie:
Wymagania wstępne i uwagi
GMUKMLParser
należy do:
bibliotekę narzędziową pakietu Maps SDK na iOS. Jeśli nie masz jeszcze skonfigurowanego
z biblioteki, postępuj zgodnie z przewodnikiem konfiguracji, zanim przeczytaj dalszą część tej strony.
Pełny przykładowy kod znajdziesz w sekcji z przykładowymi aplikacjami wł. GitHub.
Renderowanie danych KML
Aby wyrenderować dane KML na mapie, utwórz GMUKMLParser
z
ścieżki do zasobu KML (w tym przykładzie KML_Sample.kml
). Następnie:
utwórz GMUGeometryRenderer
z wynikiem GMUKMLParser
instancji. Na koniec zadzwoń pod numer GMUGeometryRenderer.render()
.
następujący przykładowy kod pokazuje renderowanie danych KML na mapie:
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