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