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

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

  • मार्कर इवेंट ट्रैक करने के लिए, अपने view में GMSMapViewDelegate जोड़ें.
  • मार्कर को खींचकर एक जगह से दूसरी जगह ले जाने की सुविधा चालू करने के लिए, 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 प्रॉपर्टी को true पर सेट करें.

Swift

marker.draggable = true

Objective-C

marker.draggable = YES;