मैं Google Maps API v3 में 'bounds_changed' ईवेंट श्रोता को कैसे निकालूँ ?
google.maps.event.removeListener(_???_);
मैं Google Maps API v3 में 'bounds_changed' ईवेंट श्रोता को कैसे निकालूँ ?
google.maps.event.removeListener(_???_);
जवाबों:
आमतौर पर आप Google मैप्स एपीआई प्रलेखन में ऐसे सवालों के जवाब पा सकते हैं।
जैसा कि एंड्रयू ने कहा, addListener एक हैंडल देता है जिसे आप बाद में श्रोता को हटाने के लिए उपयोग कर सकते हैं। ऐसा इसलिए है क्योंकि एक एकल घटना में कई श्रोता हो सकते हैं और उन्हें हटाने के लिए आपको प्रत्येक संलग्न श्रोता के संदर्भ को सहेजना होगा।
एक समारोह भी है जो सभी श्रोताओं को एक ही समय में हटा देता है:
clearListeners(instance:Object, eventName:string);
//In your case:
google.maps.event.clearListeners(map, 'bounds_changed');
यहां Google मानचित्र API संदर्भ है जहां आप इसके बारे में पढ़ सकते हैं।
google.maps.event.clearListeners(map, 'idle')
काम करता है। लेकिन map.clearListeners('idle')
नहीं है। वह सिंटैक्स API ( .addListener
, आदि) में बाकी सब के लिए काम करता है । अजीब।
addListener एक हैंडल देता है जिसे आप बाद में हटा सकते हैं।
var listenerHandle = google.maps.event.addListener(map, 'bounds_changed', function() {
google.maps.event.removeListener(listenerHandle);
वर्तमान रिलीज में यह काम करने लगता है।
var listenerHandle = google.maps.event.addListener(map, 'bounds_changed', function() {
// Handler code.
});
listenerHandle.remove();
listenerHandler.remove()
डेटा-लेयर श्रोताओं के लिए भी काम करता है - यानी google.maps.data.addListener
- क्योंकि कोई google.maps.data.removeListener
विधि परिभाषित नहीं है।
यदि आप श्रोता वस्तु को किसी तरह पकड़ सकते हैं तो आप श्रोता को सीधे तौर पर हटा सकते हैं google.maps.event.clearListeners(objectListened, 'event');
उदाहरण के लिए: google.maps.event.clearListeners(map, 'bounds_changed');