如何删除Google Maps API v3中的'bounds_changed'事件侦听器?
google.maps.event.removeListener(_???_);
答案 0 :(得分:146)
通常,您可以在Google Maps API文档中找到此类问题的答案。
正如安德鲁所说,addListener返回一个句柄,稍后您可以使用它来删除侦听器。这是因为单个事件可以拥有许多侦听器并删除它们,您必须保存对每个连接侦听器的引用。
还有一个函数可以同时删除所有的侦听器:
clearListeners(instance:Object, eventName:string);
//In your case:
google.maps.event.clearListeners(map, 'bounds_changed');
Here's the Google Maps API reference你可以在那里阅读它。
答案 1 :(得分:88)
addListener返回一个句柄,稍后您可以将其传递给removeListener:
var listenerHandle = google.maps.event.addListener(map, 'bounds_changed', function() {
google.maps.event.removeListener(listenerHandle);
答案 2 :(得分:14)
这似乎适用于当前版本。
var listenerHandle = google.maps.event.addListener(map, 'bounds_changed', function() {
// Handler code.
});
listenerHandle.remove();
答案 3 :(得分:0)
如果您无法以某种方式保持侦听器对象,则可以将侦听器直接删除为google.maps.event.clearListeners(objectListened, 'event');
例如:google.maps.event.clearListeners(map, 'bounds_changed');