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.
google.maps.event.clearListeners(map, 'idle')
bekerja. Tapi map.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);
Ini tampaknya berfungsi di rilis saat ini.
var listenerHandle = google.maps.event.addListener(map, 'bounds_changed', function() {
// Handler code.
});
listenerHandle.remove();
listenerHandler.remove()
bekerja untuk pendengar lapisan data - yaitu google.maps.data.addListener
- karena tidak ada google.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');