Я пытаюсь найти самый короткий путь из Lone Pine, Калифорния в Yosemite Village, CA.Google Maps v3 DistanceMatrix/Направления игнорировать avoidTolls: ложные
Простой Google Maps поиска показывает два пути:
- Toll маршрутов: US-395N, CA-120W ~ 316 км
- Нет платных маршрутов: CA-99N ~ 596 км
DirectionService/DistanceMatrixService имеют параметр avoidTolls:
avoidTolls (optional) — If true, the directions between points will be calculated using non-toll routes, wherever possible.
avoidTolls (optional) when set to true indicates that the calculated route(s) should avoid toll roads, if possible.
Я ожидаю, что службы возвращают маршрут № 1 при применении avoidTolls: false
, но вместо этого возвращается маршрут №2.
Является ли мое ожидание или моя реализация http://jsfiddle.net/nQzD8/2 ошибочным?
Update:
Как доктор Molle отметил, маршрут # 1 игнорируется не из-за платных маршрутах, включенных, но потому, что он может быть закрыт в текущий момент времени ("Эта дорога может быть сезонно закрыто "на шаге направления).
user2961817 выяснил, что результат 316km может быть получен путем исключения шоссе (установка avoidHighways: true
).
Существуют ли другие варианты получения результата DistanceMatrix в другое время года, помимо того, что вы становитесь клиентом «Карты для бизнеса» и используете API DistanceMatrix с параметром departure_time
?
Решение:
Маршрут # 1 игнорируется, поскольку он может быть закрыт в момент запроса и не потому, что там платные маршруты включены. Для того, чтобы восстановить более короткий маршрут есть следующие варианты:
DistanceMatrixService:
- Стать бизнес-клиентов и установить параметр DEPARTURE_TIME.
- Выдать второй запрос с
avoidHighways: true
и взять короткий маршрут (случается работать в данном конкретном случае, но не будет в большинстве случаев других)
DirectionService:
- Использование
provideRouteAlternatives:true
, итерация по альтернативам и взять кратчайший
Это только возвращает короткий маршрут для меня, когда provideRouteALternatives верно и avoidTolls ложно. http://jsfiddle.net/nQzD8/8/ – geocodezip