Я сделал себя менеджером маршрутов с парой опций (например, позволяет избежать поездок, путешествия, режима, избегать путевых точек) и перетаскиваемых маршрутов.
Я создал var lastRequest = []
для хранения DirectionsRequest properties
из последнего рендера.
Код выглядит так:
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
my lastRequest['waypoints']
новыми данными из response
, поэтому мой сценарий сможет сохранять объект путевых точек и повторять lastRequest
в любое время.
Трудность наступает, когда я беру с response
Массив путевых точек, как мне нужно
Варианты пробной пары:
lastRequest['waypoints'] = response['routes'][0]['legs'][0]['via_waypoints']
но это было не так.
Следующим шагом было восстановление каждой путевой точки одна за другой с помощью new google.maps.LatLng()
, но по какой-то причине не работало даже после того, как я поместил их в массив с помощью eval ().
Изменил остановку на false / true, пробовал разные вещи, но ничего, должно быть что-то упустил.