Katyi / map-routes-project

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

react redux-toolkit redux-saga leaflet osrm project

Требуется реализовать приложение по отображению маршрутов на карте. Используя заданный набор маршрутов (таблица 1), реализовать экран, в котором слева будет таблица со списком маршрутов, а справа карта. При выборе в таблице строки с маршрутом, выбранная строка должна подсветиться, а на карте должны отобразиться точки маршрута в виде маркеров и полилиния (polyline) трека движения по точкам маршрута, полученная из сервиса построения треков по дорогам OSRM (или другой). При выборе маршрута в таблице, на карте происходит центрирование и масштабирование таким образом, что весь маршрут должен попасть в область видимости карты. Одновременно на карте может отображаться только один маршрут – выбранный. Для отображения карты желательно использовать пакет Leaflet, для компонентов — AntDesign, для хранения стейта компонентов и данных обязательно использовать Redux (redux-toolkit), для реакции на события — Sagas. В качестве основы приложения можно использовать React Create App или Vite. Использовать только функциональные компоненты и преимущественно функциональное программирование. Распределять код по каталогам, исходя из принадлежности к функциям: components, selectors, reducers, sagas, HTTP-services, helpers, etc. Обязательно задействовать sagas для получения трека по точкам, а также обязательно задействовать любой HTTP-сервис для обращения к API построения треков. Предусмотреть обработку ошибок от HTTP-сервисов. CSS-стили допускается писать в препроцессоре SASS/LESS. Решение требуется предоставить в виде исходного кода, готового для развертывания на веб-сервере (приложить файловый архив или ссылку на github, например). Приложение нужно писать чисто и аккуратно, используя известные паттерны, сразу с рефакторингом - так, будто вы пишите production-приложение. Для получения полилиний (polylines) маршрута можно использовать API OSRM: http://project-osrm.org/docs/v5.5.1/api/?language=cURL#route-service

Таблица 1 - Список маршрутов

Маршрут Точка 1 (lat, Ing) Точка 2 (lat, Ing) Точка 3 (lat, Ing)
Маршрут №1 59.84660399, 30.29496392 59.82934196, 30.42423701 59.83567701, 30.38064206
Маршрут №2 59.82934196, 30.42423701 59.82761295, 30.41705607 59.84660399, 30.29496392
Маршрут №3 59.83567701, 30.38064206 59.84660399, 30.29496392 59.82761295, 30.41705607

About


Languages

Language:JavaScript 86.0%Language:CSS 10.5%Language:HTML 3.6%