2010-04-21 71 views
2

我很高興地將Google地圖的v2實現到了我的站點,並且順利地執行了使用GDirections.load()的驅動器指示。覆蓋Google Maps上的大彈出窗口Google地圖

我需要做的是停止迷你地圖的彈出式選擇路由方向上的特定步驟。因此,當用戶點擊「第3步」時,而不是默認彈出窗口顯示迷你地圖,我想添加一個自定義圖標到該位置。

希望它是有道理的 在此先感謝傢伙。

回答

2

您需要添加一個處理器上GDirections對象對象爲addoverlay事件:

GEvent.addListener(gdir, "addoverlay", onGDirectionsAddOverlay); 

當您onGDirectionsAddOverlay處理程序被調用,您可以通過新的標記進行迭代,並與副本替換它們打開您的自定義信息窗口:

for (var i = 0; i <= gdir.getNumRoutes(); i++) 
{ 
    var originalMarker = gdir.getMarker(i); 
    latLngs[i] = originalMarker.getLatLng(); 
    icons[i] = originalMarker.getIcon(); 
    newMarkers[i] = new GMarker(latLngs[i], { icon: icons[i], draggable: true, title: 'Kan flyttes' }); 
    map.addOverlay(newMarkers[i]); 

    // add stuff to your newMarkers[i] click event... 
    // .. 

    // Now we can remove the original marker safely 
    map.removeOverlay(originalMarker); 
} 
+0

不錯的 - 作品一種享受。多謝,夥計。 – Glycerine 2010-04-22 11:00:46

+0

@Glycerine沒問題:) – RedBlueThing 2010-04-22 12:07:44