1

Route.prototype.setWayPoints()が呼び出されるたびに、ドラッグ可能なウェイポイントで複数の方向を表示し、出発地、目的地、オブジェクトまたはデータベースに関連付けられている各ウェイポイントを保存したいと思います。

この男は、ドラッグ可能なウェイポイントを備えた単一のルートでそれを行っています(そしてそれらをデータベースに保存しています)。

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

1つではなく複数のルートが必要です。私はたくさんグーグルで検索しましたが、何も見つかりませんでした!

これが私が試したことです。


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

現在のgooglemap上のルートのウェイポイントをRouteオブジェクトに保存できるように、Route.prototype.setWayPointsを実装する方法を教えてもらえますか?

4

1 に答える 1

0

アプローチを少し変更getPointsし、Route オブジェクトに -method を追加しました。

このメソッドは、出発地、ウェイポイント、および目的地で構成される配列を返すため、どこかに簡単に渡すことができます。(配列の各項目は配列 [lat,lng] になります)

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

于 2012-04-13T12:42:33.693 に答える