2012-04-13 13 views
1

Ich möchte mehrere Routen mit verschiebbaren Wegpunkten anzeigen und jeden Wegpunkt speichern, der mit Ursprung, Ziel in Objekt oder Datenbank verknüpft ist, wenn Route.prototype.setWayPoints() aufgerufen wird.Mehrere Routen mit Wegpunkten in Google Maps bearbeiten v3

Dieser Kerl macht das mit einer einzigen Route mit verschiebbaren Wegpunkten (und speichert sie in der Datenbank).

http://vikku.info/programming/google-maps-v3/draggable-directions/saving-draggable-directions-saving-waypoints-google-directions-google-maps-v3.htm

Ich möchte ein mehrere Routen nicht. Ich habe viel gegoogelt, konnte aber nichts finden!

Folgendes habe ich ausprobiert.


function Route(origin, destination){ 
    this.origin = origin; // LatLng 
    this.destination = destination; //LatLng 
    this.way_points = null; 
}; 

Route.prototype.drawRoute = function(){ 
       this.dser.route({'origin': this.origin, 
        'destination': this.destination, 
        'waypoints': this.way_points, 
        'travelMode': google.maps.DirectionsTravelMode.DRIVING}, 
        function(res,sts) { 
          if(sts=='OK'){ 
           var dren = new google.maps.DirectionsRenderer({ 'draggable':true }); 
           dren.setMap(map); //global variable 'map' 
           dren.setDirections(res); 
          } 
        }); 
}; 

Route.prototype.setGMap = function(map){ 
   this.dren.setMap(map); 
}; 

Route.prototype.setWayPoints = function(){ 
  this.way_points = //... what should I do? 
}; 


/* --- main part --- */ 

r0 = new Route(new google.maps.LatLng(30, 31), new google.maps.LatLng(40, 41)); 
r0.drawRoute(); 

// User drags and drops the route on the browser 

r0.setWayPoints(); // newly added waypoints should be stored in r0.way_points 

r1 = new Route(new google.maps.LatLng(50, 51), new google.maps.LatLng(60, 61)); 
r1.drawRoute(); 

// User drags and drops the route on the browser 

r1.setWayPoints(); // newly added waypoints should be stored in r1.way_points 

Könnte mir jemand sagen, wie Route.prototype.setWayPoints zu implementieren, so dass die Wegpunkte in der Route zu aktuellen googlemap können in Route-Objekt gespeichert werden?

Antwort

0

Ich habe den Ansatz leicht geändert und dem Route-Objekt eine getPoints -Methode hinzugefügt.

Diese Methode gibt ein Array zurück, das aus Ursprung, Wegpunkten und Ziel besteht, so dass Sie es leicht irgendwo passieren können.

http://jsfiddle.net/doktormolle/fjUqK/

+0

, die völlig unbearbeitet (jedes Element des Arrays wird ein Array [lat, lng] sein) !!! Vielen Dank!!!!! – Ryo