KML

플랫폼 선택: Android iOS 자바스크립트

이 페이지에서는 GMUGeometryRenderer와 함께 GMUKMLParser를 사용하여 KML 형식으로 지리 데이터를 렌더링하는 방법을 설명합니다. KML은 점, 선, 다각형 등의 지리 데이터를 렌더링하는 데 널리 사용되는 형식입니다.

다음 스크린샷은 지도에 렌더링된 일부 KML 데이터를 보여줍니다.

KML 데이터가 포함된 지도

사전 요구사항 및 참고 사항

GMUKMLParseriOS용 Maps SDK 유틸리티 라이브러리의 일부입니다. 아직 라이브러리를 설정하지 않았다면 이 페이지의 나머지 부분을 읽기 전에 설정 가이드를 따르세요.

전체 코드 샘플은 GitHub의 샘플 앱을 참조하세요.

KML 데이터 렌더링

지도에 KML 데이터를 렌더링하려면 KML 리소스 경로 (이 예에서는 KML_Sample.kml)를 사용하여 GMUKMLParser를 만듭니다. 그런 다음 GMUKMLParser 인스턴스를 전달하는 GMUGeometryRenderer를 만듭니다. 마지막으로 GMUGeometryRenderer.render()를 호출합니다. 다음 코드 예는 지도에 KML 데이터를 렌더링하는 방법을 보여줍니다.

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