94

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

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

4 回答 4

155

通常您可以在 Google Maps API 文档中找到此类问题的答案。

正如安德鲁所说, addListener 返回一个句柄,您可以稍后使用它来删除侦听器。那是因为单个事件可以有许多侦听器,要删除它们,您必须保存对每个附加侦听器的引用。

还有一个函数可以同时移除所有的监听器:

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

这是您可以阅读的 Google Maps API 参考。

于 2009-10-09T14:41:00.120 回答
96

addListener 返回一个句柄,您可以稍后将其传递给 removeListener:

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

google.maps.event.removeListener(listenerHandle);
于 2009-10-09T14:37:24.213 回答
18

这似乎在当前版本中有效。

var listenerHandle = google.maps.event.addListener(map, 'bounds_changed', function() {
    // Handler code.
});
listenerHandle.remove();
于 2013-06-14T19:04:23.553 回答
0

如果你不能以某种方式持有监听器对象,你可以直接删除监听器google.maps.event.clearListeners(objectListened, 'event');

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

于 2015-07-06T13:25:53.973 回答