Подтвердить что ты не робот

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

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

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

Ответ 1

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

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

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

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

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

Ответ 2

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

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

google.maps.event.removeListener(listenerHandle);

Ответ 3

Это, похоже, работает в текущей версии.

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

Ответ 4

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

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