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