Нужен PHP-скрипт, генерирующий маршрут с использованием Яндекс Карт
Цель: Имея адрес, куда требуется произвести доставку, нужно найти оптимальный маршрут и сформировать карту или набор карт для курьера.
Дополнительная информация:
- Для построения маршрутов нужно использовать API Яндекс Карт.
- Расчет маршрута производится с использованием общественного транспорта.
- В радиусе 5 км от конечной точки маршрута ищем все станции метро и строим маршрут от каждой станции.
Подробное описание задачи:
На форме вверху указывается город, в котором нужно найти указанный адрес, а также имеется поле для ввода адреса.
На форме также имеется кнопка, по нажатию на которую появляется небольшая карта и список маршрутов.
Карта отображает выбранный маршрут. По умолчанию, это первый в списке.
Список маршрутов содержит не более 10 вариантов и отсортирован по времени (длительности) маршрута, по возрастанию. Таким образом, выбранным по умолчанию окажется самый быстрый путь.
В список маршрутов нужно вывести параметры найденных вариантов по колонкам:
- Метро, от которого строится маршрут
- Время всего маршрута
- Количество видов транспорта
- Перечень, последовательность транспорта в формате типа: "М-А-Тб-Э-Мр-Тр" – метро, потом автобус, троллейбус, электричка, маршрутка, трамвай.
- Суммарная длина пешей части маршрута (если пеших участков несколько, то они суммируются).
После того, как маршрут выбран, нажимается кнопка "Печать". В отдельном окне открывается сгенерированная страница для печати.
Если маршрут только пеший, не включает городской транспорт, то выводится один лист, иначе два.
Лист 1.
Верхние 2/3 листа занимает карта с маршрутом. На карте виден весь маршрут целиком.
В нижний части листа, под картой, отображается списк элементов маршрута (номера подходящих маршрутов транспорта, виды транспорта, количество остановок, названия начальной и конечной остановок, время на каждом участке).
Лист 2 (не печатается для пеших маршрутов).
Верхняя половина листа отображает карту с маршрутом, в центре которой – начальная его точка. Масштаб должен позволять увидеть номера домов и названия улиц.
Нижняя половина листа отображает карту с маршрутом, в центре которой – конечная точка. Масштаб должен позволять увидеть номера домов и названия улиц.
-------------------------------------------------
Оцените стоимость, срок исполнения.