Добрый вечер.
Вот сабж:
dev.boichenko.space/lutsk
Суть проблемы: нужно проложить маршрут по определенным точкам.
Как я это делаю: сначала пробовал через "google.maps.Polyline", но это невероятно тупо, ведь можно пролаживать только прямые линии, и на каждом изгибе дороги приходится добавлять новую точку. Теперь решил попробовать через "directionsService", но он сам определеяет, как проложить путь между точками, хоть я и добавляю "waypoints". Может есть какой-то вариант заставить Google Maps API v3 проложить путь по моим точкам? К примеру как в обычнх Гугл картах, где можно проложить путь так, лично определив точки.
Спасибо!
Вот часть кода, отвечающая за пролаживание пути:
var directionsService = new google.maps.DirectionsService;
var directionsDisplay = new google.maps.DirectionsRenderer;
directionsDisplay.setOptions({suppressMarkers: true});
directionsDisplay.setMap(map);
var waypts = [
{location: {lat: 50.747796, lng: 25.323531}, stopover: true},
{location: {lat: 50.745726, lng: 25.319925}, stopover: true},
{location: {lat: 50.743555, lng: 25.325369}, stopover: true},
{location: {lat: 50.741620, lng: 25.322099}, stopover: true},
{location: {lat: 50.742370, lng: 25.317764}, stopover: true},
{location: {lat: 50.740230, lng: 25.317296}, stopover: true},
];
var request = {
origin: new google.maps.LatLng(50.746957,25.325646), //точка старта
destination: new google.maps.LatLng(50.741453,25.317290), //точка финиша
waypoints: waypts,
optimizeWaypoints: true,
travelMode: google.maps.DirectionsTravelMode.WALKING //режим прокладки маршрута
};
directionsService.route(request, function(response, status){
if (status == google.maps.DirectionsStatus.OK){
directionsDisplay.setDirections(response);
}
});
directionsDisplay.setMap(map);