ऐडवांस मार्कर की कुछ खास प्रॉपर्टी सेट होने पर, मार्कर इवेंट पर नज़र रखी जा सकती है. जैसे, टैप और हाथ के जेस्चर. किसी मार्कर पर टैप करने पर, मार्कर का टाइटल या स्निपेट जैसी अतिरिक्त जानकारी देखी जा सकती है. खींचे और छोड़े जा सकने वाले मार्कर को, दबाकर रखने वाले जेस्चर का इस्तेमाल करके भी मूव किया जा सकता है.
- मार्कर इवेंट ट्रैक करने के लिए, अपने
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 प्रॉपर्टी को 'सही' पर सेट करें.
Swift
marker.draggable = true
Objective-C
marker.draggable = YES;