Google Maps API v3: как удалить прослушиватель событий? - PullRequest
87 голосов
/ 09 октября 2009

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

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

Ответы [ 4 ]

146 голосов
/ 09 октября 2009

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

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

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

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

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

88 голосов
/ 09 октября 2009

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

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

google.maps.event.removeListener(listenerHandle);
14 голосов
/ 14 июня 2013

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

var listenerHandle = google.maps.event.addListener(map, 'bounds_changed', function() {
    // Handler code.
});
listenerHandle.remove();
0 голосов
/ 06 июля 2015

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...