2012-03-23 60 views
2

基本上我不希望地圖在有人拖動標記時開始自動平移。今天,只要有人在地圖邊緣附近拖動標記,地圖就會開始平移,當它們超出地圖畫布邊界時,平移甚至會繼續。如何在Google地圖邊緣附近拖動標記時禁用「自動平移」功能?

很確定這個「自動」平移是任何具有可拖動標記和「常規」平移功能的地圖(Google JavaScript Maps API 3.x)的默認值。

我想保留用鼠標平移地圖的能力,但我需要禁用當某人在地圖邊緣附近拖動標記時發生的「自動」平移。 (還需要保留可拖動的標記)。

在此先感謝。

回答

2

使用標記的dragstartdragend事件來打開和關閉地圖的可拖動屬性。地圖對象沒有setDraggable方法,因此您需要使用set方法。

google.maps.event.addListener(marker, 'dragstart', function(){ 
    map.set('draggable', false); 
}); 
google.maps.event.addListener(marker, 'dragend', function(){ 
    map.set('draggable', true); 
}); 
+0

甜。謝謝。我只希望有很多事件監聽器沒有性能問題。我的地圖一般有大約60-120個標記。 – Fraggle 2012-03-23 15:14:31

+0

60-120個標記肯定不會引入任何性能問題。性能基準測試從1000多個標記開始。 – Lashae 2012-07-02 19:50:16

相關問題