KML

प्लैटफ़ॉर्म चुनें: Android iOS JavaScript

इस पेज में बताया गया है कि GMUKMLParser को GMUGeometryRenderer के साथ जोड़कर, KML फ़ॉर्मैट में भौगोलिक डेटा कैसे रेंडर करते हैं. KML, पॉइंट, लाइन, और पॉलीगॉन जैसे भौगोलिक डेटा दिखाने के लिए एक लोकप्रिय फ़ॉर्मैट है.

नीचे दिया गया स्क्रीनशॉट, मैप पर रेंडर किए गए KML डेटा का कुछ उदाहरण दिखाता है:

KML डेटा वाला मैप

ज़रूरी शर्तें और ज़रूरी जानकारी

GMUKMLParser, iOS यूटिलिटी लाइब्रेरी के लिए 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