Вопрос

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

google.maps.event.removeListener(_???_);    
Это было полезно?

Решение

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

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

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

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

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

Другие советы

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

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();

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

Бывший: google.maps.event.clearListeners(map, 'bounds_changed');

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top