Mai*_*ori 150

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

正如Andrew所说,addListener返回一个句柄,稍后您可以使用它来删除监听器.这是因为单个事件可以有许多侦听器并且要删除它们,您必须保存对每个连接侦听器的引用.

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

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

以下是Google Maps API参考,您可以在其中阅读相关信息.

  • 那么这只会删除bounds_changed事件吗? (2认同)
  • 弄清楚了.`google.maps.event.clearListeners(map,'idle')`有效.但是`map.clearListeners('idle')`没有.该语法适用于API中的所有其他内容(`.addListener`等).奇. (2认同)

And*_*rew 89

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

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

google.maps.event.removeListener(listenerHandle);
Run Code Online (Sandbox Code Playgroud)

  • 更好的答案,我只删除我们创建的事件监听器,它不会影响其他脚本 (4认同)
  • 更好的答案有两个原因.仅,删除实际的侦听器.此外,没有讽刺的"你可以在API文档中找到它"的评论. (2认同)

eth*_*er6 14

这似乎适用于当前版本.

var listenerHandle = google.maps.event.addListener(map, 'bounds_changed', function() {
    // Handler code.
});
listenerHandle.remove();
Run Code Online (Sandbox Code Playgroud)