KML

เลือกแพลตฟอร์ม: Android iOS JavaScript

หน้านี้จะแสดงวิธีแสดงข้อมูลทางภูมิศาสตร์ในรูปแบบ KML โดยใช้ GMUKMLParser ร่วมกับ GMUGeometryRenderer KML เป็นรูปแบบที่ได้รับความนิยมสําหรับแสดงข้อมูลทางภูมิศาสตร์ เช่น จุด เส้น และรูปหลายเหลี่ยม

ภาพหน้าจอต่อไปนี้แสดงตัวอย่างข้อมูล KML ที่แสดงบนแผนที่

แผนที่ซึ่งมีข้อมูล KML

เกณฑ์เบื้องต้นและหมายเหตุ

GMUKMLParser เป็นส่วนหนึ่งของ Maps SDK สําหรับไลบรารียูทิลิตีของ iOS หากยังไม่ได้ตั้งค่าไลบรารี ให้ทําตามคู่มือการตั้งค่าก่อนอ่านส่วนที่เหลือของหน้านี้

ดูตัวอย่างโค้ดแบบเต็มได้ที่แอปตัวอย่าง ใน GitHub

การแสดงผลข้อมูล KML

หากต้องการแสดงข้อมูล KML บนแผนที่ ให้สร้าง GMUKMLParser ด้วยเส้นทางไปยังทรัพยากร KML (KML_Sample.kml ในตัวอย่างนี้) จากนั้นสร้าง GMUGeometryRenderer ที่ส่งผ่านอินสแตนซ์ GMUKMLParser และโทรหา 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