HERE Routing API V8: как получить маршрут с несколькими проходами через путевые точки - PullRequest
1 голос
/ 30 апреля 2020

В версии 7 это способ получения маршрута с несколькими промежуточными путевыми точками:

https://route.api.here.com/routing/7.2/calculateroute.json?waypoint0=32.353514, - 61.126775 & waypoint1 = passThrough! 32.365181, -61.102086 & waypoint2 = 32.360273, -61.091979 & mode = fasttest ; pedestrian ...

В справочнике API v8 есть "via", который, кажется, используется для остановки над путевыми точками.

Я пробовал https://router.hereapi.com/v8/routes?transportMode=pedestrian&return=summary, полилиния, действия, инструкции и происхождение = 42.353514, -71.126775; 42.365181, -71.102086 & destination = 42.360273, -71.091979 & via = 42.365181, -71.102086 ..

Это порождает 2 ветви ("section" в определении v8) в маршрут. Я ожидаю 1 этап.

В этом v8 руководстве разработчика упомянутая страница passThrough:

Путевые точки могут представлять точки остановки (то есть точки, в которых некоторое время будет потрачено перед повторным прохождением маршрута), или через точки прохода, которые влияют только на форму маршрута, но где фактическая остановка не выполняется.

Но я не смог выяснить, как запросить маршрут с несколькими проходными точками в v8.

Любой совет?

Спасибо !!

Ответы [ 2 ]

0 голосов
/ 10 мая 2020

Альтернативный вариант для решения этого типа проблемы вы можете отправить два запроса.

Например: A -> B B -> C Вы передаете запрос как этот

Первый запрос A -> B

https://router.hereapi.com/v8/routes?transportMode=pedestrian&return=summary,polyline,actions,instructions&origin=42.353514,-71.126775;42.365181,-71.102086&destination=42.365181,-71.102086

Второй запрос B -> C

https://router.hereapi.com/v8/routes?transportMode=pedestrian&return=summary,polyline,actions,instructions&origin=42.365181,-71.102086&destination=42.360273,-71.091979
enter code here

Теперь добавьте результат обоих, вы получите желаемое расстояние и время .

0 голосов
/ 01 мая 2020

Я не уверен, если возвращение 2 разделов вместо одного в V8 является проблемой.

Что касается точки прохода, она описана в Ссылка API как WaypointOptions для параметра запроса via:

Supported waypoint options:

- stopDuration: desired duration for the stop, in seconds.

Поэтому я предполагаю, что все запросы обрабатываются * Параметр 1010 * без опции stopDuration в качестве точки прохода. Но вы всегда можете добавить !stopDuration=0, чтобы быть на 100% уверенным.

Этот запрос (с stopDuration = 0 или без этой опции) https://router.hereapi.com/v8/routes?transportMode=car&return=travelSummary, summary, polyline, actions & origin = 42.353514, -71.126775 & destination = 42.360273, -71.091979 и через = 42.365181, -71.102086! StopDuration = 0 & apikey = YOUR_API_KEY

возвращает сводку:

"summary": {
  "duration": 714,
  "length": 3893,
  "baseDuration": 637
}

и этот запрос с stopDuration = 900 https://router.hereapi.com/v8/routes?transportMode=car&return=travelSummary, итоги, полилинии, действия и происхождение = 42.353514, -71.126775 и пункт назначения = 42.360273, -71.091979 и через = 42.365181, -71.102086! stopDuration = 900 & apikey = YOUR_API_KEY

возвращает сводку:

"summary": {
  "duration": 714,
  "length": 3893,
  "baseDuration": 1537
}

Как видите, baseDuration было увеличено на 900 в соответствии с запросом.

...