Google Maps API v3: ¿Cómo eliminar un detector de eventos?
-
20-09-2019 - |
Pregunta
¿Cómo se quita el detector de eventos 'bounds_changed' en API de Google Maps v3 ?
google.maps.event.removeListener(_???_);
Solución
Por lo general se pueden encontrar respuestas a estas preguntas en la documentación de la API de Google Maps.
Como dijo Andrew, addListener devuelve un identificador que se puede utilizar posteriormente para eliminar el oyente. Esto se debe a un solo evento puede tener muchos oyentes y para eliminarlos debe guardar una referencia a cada uno de los oyentes conectados.
También hay una función que elimina todos los oyentes al mismo tiempo:
clearListeners(instance:Object, eventName:string);
//In your case:
google.maps.event.clearListeners(map, 'bounds_changed');
Aquí está la referencia de la API de Google Maps donde puede leer sobre él.
Otros consejos
addListener devuelve un identificador que puede pasar después a removeListener:
var listenerHandle = google.maps.event.addListener(map, 'bounds_changed', function() {
google.maps.event.removeListener(listenerHandle);
Esto parece funcionar en la versión actual.
var listenerHandle = google.maps.event.addListener(map, 'bounds_changed', function() {
// Handler code.
});
listenerHandle.remove();
Si usted no podría sostener el objeto de detector de alguna manera usted podría quitar oyente (s) directamente como google.maps.event.clearListeners(objectListened, 'event');
Ex: google.maps.event.clearListeners(map, 'bounds_changed');