it-swarm.com.ru

Google Maps API v3: как удалить прослушиватель событий?

Как удалить прослушиватель событий "bounds_changed" в Google Maps API v ?

google.maps.event.removeListener(_???_);    
87
mp_

Обычно вы можете найти ответы на такие вопросы в документации Google Maps API.

Как сказал Эндрю, addListener возвращает дескриптор, который вы можете использовать позже для удаления слушателя. Это связано с тем, что у одного события может быть много слушателей, и для их удаления необходимо сохранить ссылку на каждого из подключенных слушателей.

Также есть функция, которая удаляет всех слушателей одновременно:

clearListeners(instance:Object, eventName:string);
//In your case:
google.maps.event.clearListeners(map, 'bounds_changed');

Вот ссылка на API Карт Google где вы можете прочитать об этом.

146
Maiku Mori

addListener возвращает дескриптор, который вы можете позже передать в removeListener:

var listenerHandle = google.maps.event.addListener(map, 'bounds_changed', function() {

google.maps.event.removeListener(listenerHandle);
88
Andrew

Это похоже на работу в текущем выпуске.

var listenerHandle = google.maps.event.addListener(map, 'bounds_changed', function() {
    // Handler code.
});
listenerHandle.remove();
14
ether6

Если вы не можете каким-то образом удерживать объект слушателя, вы можете удалить слушателей непосредственно как google.maps.event.clearListeners(objectListened, 'event');

Пример: google.maps.event.clearListeners(map, 'bounds_changed');

0
Tarık Özgün Güner