Bu sayfada, GMUGeometryRenderer
ile birlikte GMUKMLParser
kullanılarak coğrafi verilerin KML biçiminde nasıl oluşturulacağı gösterilmektedir. KML noktalar, çizgiler ve poligonlar gibi coğrafi verileri oluşturmak için kullanılan popüler bir biçimdir.
Aşağıdaki ekran görüntüsünde, haritada oluşturulan bazı KML verileri örneği gösterilmektedir:
Ön koşullar ve notlar
GMUKMLParser
, iOS için Haritalar SDK'sı Yardımcı Program Kitaplığı'nın bir parçasıdır. Kitaplığı henüz oluşturmadıysanız bu sayfanın geri kalanını okumadan önce kurulum kılavuzundaki talimatları uygulayın.
Tam kod örneği için GitHub'daki örnek uygulamalara bakın.
KML verileri oluşturma
KML verilerini bir haritada oluşturmak için, KML kaynağına (bu örnekte KML_Sample.kml
) giden yolu kullanarak bir GMUKMLParser
oluşturun. Ardından, GMUKMLParser
örneğini ileten bir GMUGeometryRenderer
oluşturun. Son olarak GMUGeometryRenderer.render()
adlı kişiyi arayın. Aşağıdaki kod örneğinde, KML verilerinin bir haritada oluşturulması gösterilmektedir:
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