2

这些天在玩谷歌地图,有一些方向。

我有一张地图,可以在拖放标记时获取方向和地址(反向地理编码)。

如果地图上有两个节点(http://dev.korebogen.dk/gmap/)脚本工作正常(点击设置方向) - 但我需要添加一个点击事件,以便我可以放置这两个标记而不是手动硬编码位置,但仍然可以拖动它们 - 或通过新的点击放置新的。但我只需要 A 到 B 标记。

我一直在玩一些点击事件,但我似乎无法完成我正在寻找的东西 - 希望在这里看到一些帮助。非常感谢你。

4

1 回答 1

4

此代码将允许您单击并放置两个标记,然后您可以使用它们来加载 GDirections,并删除原始标记。请注意,您必须对查询字符串使用以下格式:“from: marker@35,-25 to: marker@-20,15”。

var markerArray = [];

var listener = GEvent.addListener(map, "click", function(overlay, latlng) {
    var marker = new GMarker(latlng, { draggable: true });
    map.addOverlay(marker);
    markerArray.push(marker);
    if (markerArray.length > 1) {
        GEvent.removeListener(listener);
        var marker1 = markerArray[0];
        var marker2 = markerArray[1];

        gdir.load("from: marker1@" + marker1.getLatLng() + " to: marker2@" + marker2.getLatLng());

        map.removeOverlay(marker1);
        map.removeOverlay(marker2);
    }
});
于 2009-04-28T15:13:29.817 回答