Я сделал себе менеджер маршрутов с парой опций (таких как избежать дорожных сборов, режим путешествия, избежать путевых точек шоссе) и перетаскивать маршруты.
Я создал var lastRequest = []
для хранения свойств DirectionsRequest
из последнего рендеринга.
Код выглядит следующим образом:
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
var directions = parseDirections(response, mode, tolls)
directionsDisplay.setDirections(response)
}
});
google.maps.event.addListener(directionsDisplay, 'directions_changed', function() {
refreshReq(directionsDisplay.getDirections())
})
function refreshReq(response)
{
//
}
Я не могу найти решение для обновления directions_changed
моего lastRequest['waypoints']
с новыми данными из response
, поэтому мой скрипт сможет хранить объект путевых точек и повторять lastRequest
в любое время.
Трудности возникают, когда я беру из response
массив путевых точек, как мне нужно
Пробовал пару вариантов:
lastRequest['waypoints'] = response['routes'][0][' leg'][0]['via_waypoints']
но это было не то.
Следующим шагом было воссоздание каждой путевой точки по одной с помощью new google.maps.LatLng()
, но по какой-то причине это не сработало даже после того, как я поместил их в массив с помощью eval().
Изменил промежуточную остановку на false/true, пробовал разные вещи, но ничего, должно быть что-то упустил.