2009-04-28 18 views
2

Herumspielen mit Google Maps in diesen Tagen, mit einigen Richtungen.Google Maps - Fügen Sie zwei Marker (Richtungen)

Ich habe eine Karte, die die Richtungen und die Adresse (umgekehrte Geokodierung) beim Ziehen und Ablegen der Marker erhält.

Wenn zwei Knoten auf der Karte sind() funktioniert das Skript gut (klicken Sie auf Set-Anweisungen) - aber ich muss ein Klickereignis hinzufügen, damit ich diese beiden Markierungen platzieren kann, anstatt die Position manuell zu codieren , aber immer noch in der Lage sein, sie herumzuziehen - oder neu mit einem neuen Klick zu platzieren. Aber ich brauche nur A nach B Marker.

Ich habe mit einigen Klickereignissen herumgespielt, aber ich kann anscheinend nicht das erreichen, wonach ich suche - hoffe, hier Hilfe zu finden. Vielen Dank.

Antwort

4

Mit diesem Code können Sie zwei Marker anklicken und platzieren, mit denen Sie GDirections laden und die ursprünglichen Marker entfernen können. Beachten Sie, dass Sie dieses Format für die Abfragezeichenfolge verwenden müssen: "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: [email protected]" + marker1.getLatLng() + " to: [email protected]" + marker2.getLatLng()); 

     map.removeOverlay(marker1); 
     map.removeOverlay(marker2); 
    } 
});