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


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

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

4 ответа:

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

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

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

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

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

метод 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();

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

Ex:google.maps.event.clearListeners(map, 'bounds_changed');