Comment supprimer l'écouteur d'événements "bounds_changed" dans l' API Google Maps v3 ?
google.maps.event.removeListener(_???_);
Comment supprimer l'écouteur d'événements "bounds_changed" dans l' API Google Maps v3 ?
google.maps.event.removeListener(_???_);
Réponses:
Vous pouvez généralement trouver des réponses à ces questions dans la documentation de l'API Google Maps.
Comme Andrew l'a dit, addListener renvoie un handle que vous pouvez utiliser plus tard pour supprimer l'écouteur. En effet, un seul événement peut avoir plusieurs écouteurs et pour les supprimer, vous devez enregistrer une référence à chacun des écouteurs attachés.
Il existe également une fonction qui supprime tous les auditeurs en même temps:
clearListeners(instance:Object, eventName:string);
//In your case:
google.maps.event.clearListeners(map, 'bounds_changed');
Voici la référence de l'API Google Maps où vous pouvez en savoir plus.
google.maps.event.clearListeners(map, 'idle')
travaux. Mais map.clearListeners('idle')
non. Cette syntaxe fonctionne pour tout le reste de l'API ( .addListener
, etc.). Impair.
addListener renvoie un handle que vous pouvez passer ultérieurement à removeListener:
var listenerHandle = google.maps.event.addListener(map, 'bounds_changed', function() {
google.maps.event.removeListener(listenerHandle);
Cela semble fonctionner dans la version actuelle.
var listenerHandle = google.maps.event.addListener(map, 'bounds_changed', function() {
// Handler code.
});
listenerHandle.remove();
listenerHandler.remove()
fonctionne également pour les écouteurs de la couche de données - c'est google.maps.data.addListener
-à- dire - car aucune google.maps.data.removeListener
méthode n'est définie.
Si vous ne pouviez pas tenir l'objet écouteur d'une manière ou d'une autre, vous pourriez supprimer directement les écouteurs google.maps.event.clearListeners(objectListened, 'event');
Ex: google.maps.event.clearListeners(map, 'bounds_changed');