1

我想使用可拖动的航路点显示多个方向,并在调用 Route.prototype.setWayPoints() 时将每个航路点与起点、目标关联到对象或数据库中。

这家伙正在使用带有可拖动航点的单条路线(并将它们保存在数据库中)。

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

我想要多条路线而不是一条。我用谷歌搜索了很多,但找不到任何东西!

这是我尝试过的。


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

谁能告诉我如何实现 Route.prototype.setWayPoints 以便当前 googlemap 上的路线中的航点可以存储在 Route 对象中?

4

1 回答 1

0

我稍微改变了方法,并getPoints在 Route 对象中添加了一个 -method。

此方法将返回一个由起点、航点和目的地组成的数组,因此您可以轻松地将其传递到某个地方。(数组的每个项目都是一个数组 [lat,lng])

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

于 2012-04-13T12:42:33.693 回答