簡體   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