2010-04-21 72 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