Как отобразить все «места» в радиусе 50км от дороги с точки А в точку Б?

Есть карта куда пользователь водит начальную, промежуточную (если необходимо) и конечную точку. Далее ему отображается путь.
Вроде данного примера.
Так же есть JSON файл в котором хранятся места такого формата -
{
      "location": {
        "latitude": -78.46545693840129,
        "longitude": 545.125644880189
      },
      "placeId": "id001"
    },


Как возможно реализовать отображение всех точек которые входят в радиус 50км от всей протяжённости дороги?

Ниже я накидал пример того что хотелось бы реализовать, но нет идей как. Есть точка А начало пути и точка Б конец. Используя google map api прокладывает пусть и отображаем карту. Так же отображаем маркеры (1,2,3 и 4) на карте из джейсона и если маркер входит в радиус 50мк от всей дороги, тогда выводим его пользователю (1,2 и 3).
5de7a8cbd177f296457343.png
  • Вопрос задан
  • 138 просмотров
Решения вопроса 2
freeExec
@freeExec
Участник OpenStreetMap
1. Берёте свои точки и вносите их в пространственную БД, строите индекс по геометрии. Все основные СУБД имеют такие расширения.
2. Получаете от гугла маршрут и передаете его себе на сервер.
3. Там строите буфер вокруг него и получаете свои искомые точки, отдаёте их клиенту.
4. Профит.
Ответ написан
@grinat
Берешь дорогу, закидываешь сюда https://turfjs.org/docs/#buffer и потом в обратное геодкодирование(ты координаты, тебе адреса придут с тем что там), но надо смотреть ограничения какие есть у гугла на это, думаю из этого ничего хорошего не выйдет. Думаю единственный нормальный вариант, это брать бд osm, загружать к себе локально, и затем через постгис смотреть что входят в данный полигон.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы