एडवांस मार्कर की कुछ प्रॉपर्टी सेट होने पर, मार्कर इवेंट को मॉनिटर किया जा सकता है. जैसे, टैप और हावभाव. किसी मार्कर पर टैप करने से, मार्कर का टाइटल या स्निपेट जैसी अतिरिक्त जानकारी देखी जा सकती है. ड्रैग किए जा सकने वाले मार्कर को, दबाकर रखने वाले जेस्चर का इस्तेमाल करके भी ले जाया जा सकता है.
- मार्कर इवेंट ट्रैक करने के लिए, अपने
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;