2

我很高兴地在我的网站上顺利实现了 v2 的 Google 地图,我还使用 GDirections.load() 成功地执行了行车路线。

我需要做的是在您选择路线方向中的特定步骤时停止弹出小地图。因此,当用户点击说“第 3 步”时,我想在该位置添加一个自定义图标,而不是显示迷你地图的默认弹出窗口。

希望这是有道理的提前谢谢大家。

4

1 回答 1

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);
}
于 2010-04-22T00:17:04.753 回答