KML

Platform seçin: Android iOS JavaScript

Bu sayfada, coğrafi verilerin KML'de nasıl oluşturulacağı gösterilmektedir biçiminde, GMUKMLParser kullanılarak GMUGeometryRenderer ile bağlantılı. KML popüler bir biçim olarak kullanabilirsiniz.

Aşağıdaki ekran görüntüsünde, haritada oluşturulmuş bazı örnek KML verileri gösterilmektedir:

KML verileri içeren bir harita

Ön koşullar ve notlar

GMUKMLParser, şurada yer alıyor: iOS Yardımcı Program Kitaplığı için Haritalar SDK'sı. Henüz ayarlamadıysanız bu sayfanın kalan kısmını okumadan önce kurulum kılavuzunu izleyin.

Tam kod örneği için örnek uygulamalara bakın açık GitHub'ı tıklayın.

KML verileri oluşturma

KML verilerini bir haritada oluşturmak içinGMUKMLParser bir KML kaynağına giden yol (bu örnekte KML_Sample.kml). Ardından, GMUKMLParser değerini geçiren bir GMUGeometryRenderer oluştur kullanır. Son olarak, GMUGeometryRenderer.render() adlı kişiyi arayın. İlgili içeriği oluşturmak için kullanılan aşağıdaki kod örneği, KML verilerinin haritada oluşturulmasını gösterir:

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