Обработка нескольких маршрутов с путевыми точками в Google Maps v3
Я хочу отображать несколько направлений с перетаскиваемыми путевыми точками и сохранять каждую путевую точку, связанную с источником, местом назначения в объекте или базе данных, всякий раз, когда вызывается Route.prototype.setWayPoints().
Этот парень делает это по одному маршруту с перетаскиваемыми путевыми точками (и сохраняет их в базе данных).
Я хочу несколько маршрутов, а не один. Я много гуглил, но ничего не смог найти!
Вот что я попробовал.
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, чтобы путевые точки в маршруте на текущей карте Google можно было сохранить в объекте Route?
1 ответ
Я немного изменил подход и добавил getPoints
-метод к Трассе-объекту.
Этот метод возвращает массив, который состоит из источника, путевых точек и пункта назначения, так что вы можете легко передать его куда-нибудь. (каждый элемент массива будет массивом [lat, lng])