谷歌地图 - 添加两个标记(方向)

时间:2009-04-28 12:06:27

标签: javascript google-maps click maps

这些天玩弄谷歌地图,有一些指示。

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

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

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

1 个答案:

答案 0 :(得分: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);
    }
});