terkin
@terkin

Как сделать бэкенд скрипт автомобильного маршрута?

Как реализовать расчет расстояний а так же учет областей / город через который будет проходить маршрут от точки А к точке Б например как на сайте https://www.avtodispetcher.ru/distance/?from=%D0%9... Про реализацию яндекс карт понятно, но как они получают на бекенде список областей и городов?
  • Вопрос задан
  • 134 просмотра
Пригласить эксперта
Ответы на вопрос 2
Реализовать рассчёт растояний можно с помощью Graphhopper, основанного на данных OpenStreetMap:
https://graphhopper.com/api/1/docs/routing/#output - здесь документация, вам нужен параметр paths[0].distance (второй сверху)

Про города и области с помощью этого же сервиса можно это реализовать. В запросе нужно передавать параметр points_encoded=false (документация), тогда на выходе в поле points получите список точек маршрута. Затем можно находить, в каком городе / какой области находится каждая точка, используя обратный геокодер в составе Nominatim (опять же, основанного на данных из OSM). Документация по нему: wiki.openstreetmap.org/wiki/Nominatim#Reverse_Geocoding
Ответ написан
Комментировать
gzhegow
@gzhegow
aka "ОбнимиБизнесмена"
Берешь готовые и делаешь.
Хочешь свой собственный?

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

Маршруты у тебя заданы с километражом. Отмеряешь длину маршрута в процентах от всего маршрута, умножаешь. Но геморно это все, проще взять гугльмап и приспособить, зачем тебе сдалось заново все рисовать?

А никак, зачем тебе на бекенде это делать то?
Они могут работать на крутой штуке типа "нод js" которая в реальном времени работает.

Полный список можешь грузануть откуда-то еще. А потом как делаешь - человек выбрал из списка город, ты его пытаешься найти на яндексе на фронтенде. Фронтендом же проверяешь - найдено ли точное соответствие.

Там как-то есть хитрая система запросов с callback-ами, что в гугле, что в яндексе. И запрашивать на пыхе каким-нибудь курлом или через file_get_contents. Но только зачем ты себе голову морочишь?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы