KML

เลือกแพลตฟอร์ม แอนดรอยด์ iOS JavaScript

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

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

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

สิ่งที่ต้องมีก่อนและหมายเหตุ

GMUKMLParser เป็นส่วนหนึ่งของ Maps SDK สำหรับ iOS Utility Library หากยังไม่ได้ตั้งค่า ไลบรารีโดยทำตามคู่มือการตั้งค่าก่อนที่จะอ่านส่วนที่เหลือของหน้านี้

ดูตัวอย่างโค้ดทั้งหมดได้จากตัวอย่างแอป เปิด 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