2

最近は Google マップをいじっています。

マーカーをドラッグ アンド ドロップすると、道順と住所 (逆ジオコーディング) を取得するマップがあります。

マップ上に 2 つのノードがある場合 ( http://dev.korebogen.dk/gmap/ )、スクリプトは正常に動作しています (クリックで方向を設定)。手動で場所をハードコーディングしますが、ドラッグして移動することも、新しいクリックで新しい場所を配置することもできます。しかし、必要なのは A to B マーカーだけです。

私はいくつかのクリックイベントをいじっていますが、探しているものを達成できないようです - ここでいくつかの助けを期待しています. どうもありがとうございました。

4

1 に答える 1

4

このコードを使用すると、クリックして 2 つのマーカーを配置できます。これを使用して 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 に答える