2016-06-24 8 views
1

Я пытался получить список координат в пути от точки А до Б, используя OSRM со следующей просьбой:Получение маршрутов на OpenStreetMaps с использованием OSRM

GET http://router.project-osrm.org/viaroute?hl=en&loc=47.064970,15.458470&loc=47.071100,15.476760

Однако, открывая url, я нахожу тег 'via_points', содержащий только две координаты. Неужели это не может быть весь маршрут? Что-нибудь мне здесь не хватает? Есть ли другой способ генерации списка координат маршрута с помощью OSRM? Спасибо

+0

Используйте новый API. Старая конечная точка будет устаревать в ближайшее время. То, что вы хотите, это 'result.routes [0] .overview' с параметрами' overview = full', а затем декодировать с помощью https://github.com/mapbox/polyline – themarex

ответ

0

Маршрут содержится в объекте route_geometry. Это encoded polyline. Если вы не хотите, чтобы разархивировать его самостоятельно вы можете отключить сжатие через compression=false:

http://router.project-osrm.org/viaroute?compression=false&hl=en&loc=47.064970,15.458470&loc=47.071100,15.476760

Не уверен, что via_points содержит. OSRM documentation, похоже, устарел. Возможно, это только ваши начальные и конечные точки, привязанные к ближайшей дороге или что-то подобное.

+1

Документация актуальна, вы просто используете старую API. Для новой версии> = 5 запрос будет выглядеть следующим образом: http://router.project-osrm.org/route/v1/driving/15.458470,47.064970;15.476760,47.071100 – themarex

+0

Немного смущен. использовать обзор = полный или обзор = ложь? что это значит? – Rwiddhi

Смежные вопросы