मार्कर इवेंट और हाथ के जेस्चर

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

  • मार्कर इवेंट ट्रैक करने के लिए, GMSMapViewDelegate को अपने view में जोड़ें.
  • मार्कर को खींचने और छोड़ने लायक बनाने के लिए, GMSMarker.draggable प्रॉपर्टी को सेट करें.
  • किसी मार्कर की जानकारी देने वाला टेक्स्ट सेट करने के लिए, GMSMarker.title प्रॉपर्टी का इस्तेमाल करें.

मार्कर इवेंट का जवाब देना

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

Swift

// MARK: GMSMapViewDelegate

func mapView(_ mapView: GMSMapView, didTap marker: GMSMarker) -> Bool {
  if let title = marker.title {
    if let snippet = marker.snippet {
      print("marker title: \(title): snippet: \(snippet)")
    }
  }
  return true
}

Objective-C

// MARK: GMSMapViewDelegate

-   (BOOL)mapView:(GMSMapView *)mapView didTapMarker:(GMSMarker *)marker {
  if (marker.title && marker.snippet) {
    NSLog(@"marker with title:%@ snippet: %@", marker.title,  marker.snippet)
  }
  return YES;
}

मैप के ज़ूम लेवल से, मार्कर के दिखने की सेटिंग को कंट्रोल करें

यह तय करने के लिए कि GMSMarker किसको दिखे, GMSMapViewDelegate प्रोटोकॉल लागू करें और सेट में कोई शर्त जोड़ें GMSMarker.map.

Swift

// MARK: GMSMapViewDelegate

func mapView(_ mapView: GMSMapView, didChange position: GMSCameraPosition) {
    marker.map = position.zoom >= 14 ? mapView : nil
}

Objective-C

// MARK: GMSMapViewDelegate

-   (void)mapView:(GMSMapView *)mapView didChangeCameraPosition:(GMSCameraPosition *)position {
  marker.map = position.zoom >= 14 ? mapView : nil;
}

मार्कर को खींचने और छोड़ने लायक बनाना

draggable प्रॉपर्टी को चालू करने पर उपयोगकर्ता, मार्कर को मैप पर देर तक दबाए रखने के जेस्चर से खींच सकते हैं. मार्कर को खींचने और छोड़ने लायक बनाने के लिए, GMSMarker.draggable प्रॉपर्टी को सही पर सेट करें.

Swift

marker.draggable = true

Objective-C

marker.draggable = YES;