KML

플랫폼 선택: Android iOS JavaScript

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

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

KML 데이터가 있는 지도

사전 요구사항 및 참고 사항

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

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

KML 데이터 렌더링

지도에 KML 데이터를 렌더링하려면 KML 리소스 경로가 포함된 GMUKMLParser를 만듭니다 (이 예에서는 KML_Sample.kml). 그런 다음 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