API Google Maps v3: как удалить прослушиватель событий?
Как удалить прослушиватель событий 'bounds_changed' в Google Maps API v3?
google.maps.event.removeListener(_???_);
Ответы
Ответ 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');