Добрый день!
Столкнулся с проблемой, не могу в документациях найти следующие:
Как построить оптимальный маршрут между тремя и более точками.
Т.е. на OSM или Google есть информация, как поставить poi, или как соединить 2 poi типом движения walking.
Но нет информации, как соединить несколько точек.
Google maps:var directionsDisplay;
var directionsService = new google.maps.DirectionsService();
var map;
function initialize() {
directionsDisplay = new google.maps.DirectionsRenderer();
var center = new google.maps.LatLng(40.7791666666667,-73.9583333333333);
var mapOptions = {
zoom: 13,
center: center
}
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
directionsDisplay.setMap(map);
}
function getRoute(start, end, poi) {
var waypts = [];
for (var i = 0; i < poi.length; i++) {
//console.log(poi[i])
waypts.push({
location:poi[i],
stopover:true});
}
var request = {
origin: start,
destination: end,
waypoints: waypts,
optimizeWaypoints: true,
travelMode: google.maps.TravelMode.DRIVING
};
directionsService.route(request, function(response, status) {
console.log(response)
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
}
});
}
google.maps.event.addDomListener(window, 'load', initialize);
var start = '40.7791666666667,-73.9583333333333';
var end = '40.7752777777778,-73.9769444444444';
var waypoints = [
'40.7513888888889,-73.9777777777778',
'40.7155555555556,-74.0111111111111'
];
getRoute(start, end, waypoints);
Начинает ругаться :
TypeError: undefined is not an object (evaluating 'directionsDisplay.setDirections')