ग्राउंड ओवरले

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

ग्राउंड ओवरले, मैप पर मौजूद ओवरले होते हैं. ये अक्षांश/देशांतर निर्देशांक से जुड़े होते हैं, इसलिए मैप को खींचने या ज़ूम करने पर, ये मूव होते हैं.

शुरुआती जानकारी

ग्राउंड ओवरले एक इमेज है जो किसी मैप पर तय होती है. मार्कर से अलग, ग्राउंड ओवरले, स्क्रीन के बजाय पृथ्वी की सतह पर होते हैं. इसलिए, मैप को घुमाने, झुकाने या ज़ूम करने से इमेज का ओरिएंटेशन बदल जाता है.

ग्राउंड ओवरले जोड़ने के लिए, GMSGroundOverlay ऑब्जेक्ट बनाएं जो आइकॉन और बाउंड, दोनों के बारे में बताता हो. इन दोनों में से किसी को भी तय न करने पर, मैप पर ग्राउंड ओवरले नहीं दिखेगा. आप वैकल्पिक रूप से अतिरिक्त सेटिंग तय कर सकते हैं, जो मैप पर इमेज की स्थिति को प्रभावित करेगी. ज़रूरी विकल्प तय करने के बाद, ओवरले जोड़ने के लिए इस ऑब्जेक्ट की map प्रॉपर्टी सेट करें.

ओवरले जोड़ना

  1. कोई नया GMSGroundOverlay ऑब्जेक्ट इंस्टैंशिएट करें
  2. icon प्रॉपर्टी को UIImage के इंस्टेंस पर सेट करें.
  3. bounds प्रॉपर्टी को GMSCoordinateBounds के इंस्टेंस पर सेट करें. ये सीमाएं, इमेज के दक्षिण पश्चिम और उत्तर-पूर्व कोनों को दिखाती हैं.
  4. अपनी पसंद के हिसाब से, bearing और zoomLevel जैसी वैकल्पिक प्रॉपर्टी सेट करें.
  5. map प्रॉपर्टी सेट करें - इमेज मैप पर दिखेगी.

नीचे दिए गए उदाहरण में, मौजूदा GMSMapView ऑब्जेक्ट में ग्राउंड ओवरले जोड़ने का तरीका बताया गया है.

Swift

let southWest = CLLocationCoordinate2D(latitude: 40.712216, longitude: -74.22655)
let northEast = CLLocationCoordinate2D(latitude: 40.773941, longitude: -74.12544)
let overlayBounds = GMSCoordinateBounds(coordinate: southWest, coordinate: northEast)

// Image from http://www.lib.utexas.edu/maps/historical/newark_nj_1922.jpg
let icon = UIImage(named: "newark_nj_1922")

let overlay = GMSGroundOverlay(bounds: overlayBounds, icon: icon)
overlay.bearing = 0
overlay.map = mapView
      

Objective-C

CLLocationCoordinate2D southWest = CLLocationCoordinate2DMake(40.712216,-74.22655);
CLLocationCoordinate2D northEast = CLLocationCoordinate2DMake(40.773941,-74.12544);
GMSCoordinateBounds *overlayBounds = [[GMSCoordinateBounds alloc] initWithCoordinate:southWest
                                                                        coordinate:northEast];

// Image from http://www.lib.utexas.edu/maps/historical/newark_nj_1922.jpg
UIImage *icon = [UIImage imageNamed:@"newark_nj_1922"];
GMSGroundOverlay *overlay = [GMSGroundOverlay groundOverlayWithBounds:overlayBounds icon:icon];
overlay.bearing = 0;
overlay.map = mapView;
      

ओवरले निकालना

अपने GMSGroundOverlay की map प्रॉपर्टी को nil पर सेट करके, मैप से कोई ग्राउंड ओवरले हटाया जा सकता है. इसके अलावा, सभी ओवरले (इसमें, मैप पर मौजूदा ग्राउंड ओवरले भी शामिल हैं) को GMSMapView clear तरीके से हटाया जा सकता है.

Swift

mapView.clear()
      

Objective-C

[mapView clear];
      

अगर आपको ग्राउंड ओवरले को मैप में जोड़ने के बाद, उसमें बदलाव करना है, तो पक्का करें कि GMSGroundOverlay ऑब्जेक्ट में हो. ग्राउंड ओवरले को बाद में बदलने के लिए, इस ऑब्जेक्ट में बदलाव करें.

Swift

let overlay = GMSGroundOverlay(bounds: overlayBounds, icon: icon)
overlay.bearing = 0
overlay.map = mapView

// ...

overlay.isTappable = true
      

Objective-C

GMSGroundOverlay *overlay = [GMSGroundOverlay groundOverlayWithBounds:overlayBounds icon:icon];
overlay.bearing = 0;
overlay.map = mapView;

// ...
overlay.tappable = YES;
      

इवेंट

मैप पर होने वाले इवेंट को सुना जा सकता है. जैसे, जब कोई उपयोगकर्ता किसी ओवरले पर टैप करता है. इवेंट को सुनने के लिए, आपको GMSMapViewDelegate प्रोटोकॉल लागू करना होगा. इवेंट के बारे में गाइड और GMSMapViewDelegate में तरीकों की सूची देखें.