Google Maps API v3:如何删除事件监听器?

如何删除Google Maps API v3中的“bounds_changed”事件侦听器?

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

通常您可以在Google地图API文档中find这些问题的答案。

正如Andrew所说,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(); 

如果你不能保持监听器对象,你可以直接删除监听器作为google.maps.event.clearListeners(objectListened, 'event');

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