繁体   English   中英

Google Maps的Javascript事件处理

[英]Javascript event handling for Google Maps

我在我的应用程序中使用Google Maps + JavaScript + PHP。 我想知道两件事:
在Google地图中,

  1. 在zoomend / dragend(两个)中的任何一个发生之后,moaveend事件总是会被触发。

  2. 当我单击Google地图上的缩放图标或滚动鼠标滚轮进行缩放时,zoomend事件被触发多次。 如果我在地图上使用+图标放大一步,则将触发zoomend事件两次,有时甚至更多。 任何可能的漏洞。

    因此,想知道如何停止javascript中的进一步事件传播 (请记住,我不需要使用clearListeners,因为它将永远忽略不希望的事件处理程序)。

谢谢。

您可以尝试仅从事件中返回false或null。 如果这样做不起作用,请尝试使用“ event.cancelBubble = true”或“ event.stopPropagation”

我为“ moveend”,“ zoomend”和“ dragend”设置了监听器以进行尝试。

GEvent.addListener(map, "moveend", function() { console.log('moveend'); });
GEvent.addListener(map, "zoomend", function() { console.log('zoomend'); });
GEvent.addListener(map, "dragend", function() { console.log('dragend'); });

看来“ moveend”总是在“ zoomend”或“ dragend”之后触发。

但是,任何事件一次都不会触发。 也许您不小心设置了两个同时收听者。 您不需要使用stopPropagation或cancelBubble。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM