2010-02-11 79 views
0

我在我的應用程序中使用google maps + javascript + php。 我想知道兩件事情:
在谷歌地圖,Google地圖的Javascript事件處理

  1. 不總是moveend事件被炒魷魚 後zoomend/dragend(取其 二)事件發生。

  2. 當我點擊谷歌地圖 縮放圖標或滾動鼠標滾輪縮放, 的zoomend事件被炒魷魚不止一次 。如果我使用地圖上的+圖標放大一個步驟 ,則縮放事件將被觸發兩次或有時會更多地觸發 。任何可能的漏洞。

    所以想知道如何在javascript中停止進一步的事件傳播。 (請記住,我不需要使用clearListeners,因爲它會永遠忽略不需要的事件處理程序)。

謝謝。

回答

1

我設置了'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。

+0

我明白了。感謝您的迴應。 – Prashant 2010-02-12 06:53:28

1

你可以嘗試只是從事件reuturning虛假或null。 如果這不起作用嘗試使用「event.cancelBubble = true」或「event.stopPropagation」

+0

同時使用cancelBubble和stopPropagation(),因爲某些瀏覽器需要前者和後者。 – 2010-02-11 16:43:55

+0

謝謝你的回覆。 – Prashant 2010-02-12 06:53:51