Bagaimana cara menghapus pemroses acara 'bounds_changed' di Google Maps API v3 ?
google.maps.event.removeListener(_???_);
Bagaimana cara menghapus pemroses acara 'bounds_changed' di Google Maps API v3 ?
google.maps.event.removeListener(_???_);
Jawaban:
Biasanya Anda dapat menemukan jawaban untuk pertanyaan semacam itu di dokumentasi Google Maps API.
Seperti yang dikatakan Andrew, addListener mengembalikan pegangan yang dapat Anda gunakan nanti untuk menghapus pemroses. Itu karena satu peristiwa dapat memiliki banyak pendengar dan untuk menghapusnya, Anda harus menyimpan referensi ke setiap pendengar yang dilampirkan.
Ada juga fungsi yang menghapus semua pendengar pada saat bersamaan:
clearListeners(instance:Object, eventName:string); //In your case: google.maps.event.clearListeners(map, 'bounds_changed');
Berikut adalah referensi Google Maps API tempat Anda dapat membacanya.
sumber
google.maps.event.clearListeners(map, 'idle')
bekerja. Tapimap.clearListeners('idle')
tidak. Sintaks itu berfungsi untuk semua hal lain di API (.addListener
, dll). Aneh.addListener mengembalikan pegangan yang nantinya bisa Anda teruskan ke removeListener:
var listenerHandle = google.maps.event.addListener(map, 'bounds_changed', function() { google.maps.event.removeListener(listenerHandle);
sumber
Ini tampaknya berfungsi di rilis saat ini.
var listenerHandle = google.maps.event.addListener(map, 'bounds_changed', function() { // Handler code. }); listenerHandle.remove();
sumber
listenerHandler.remove()
bekerja untuk pendengar lapisan data - yaitugoogle.maps.data.addListener
- karena tidak adagoogle.maps.data.removeListener
metode yang ditentukan.Jika Anda tidak dapat menahan objek listener, Anda dapat menghapus listener secara langsung sebagai
google.maps.event.clearListeners(objectListened, 'event');
Ex:
google.maps.event.clearListeners(map, 'bounds_changed');
sumber