web-dev-qa-db-fra.com

API Google Maps v3: comment supprimer un écouteur d'événement?

Comment puis-je supprimer l'écouteur d'événements "bounds_changed" dans API Google Maps v ?

google.maps.event.removeListener(_???_);    
87
mp_

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 descripteur que vous pourrez utiliser ultérieurement 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.

148
Maiku Mori

addListener renvoie un descripteur que vous pourrez ensuite transmettre à removeListener:

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

google.maps.event.removeListener(listenerHandle);
88
Andrew

Cela semble fonctionner dans la version actuelle.

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

Si vous ne pouviez pas garder l’objet écouteur d’une manière ou d’une autre, vous pourriez supprimer directement le (s) auditeur (s) en tant que google.maps.event.clearListeners(objectListened, 'event');

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

0