Как сделать карту маршрута автобуса
Общественный транспорт
Вы можете увидеть транспортные средства общественного транспорта в режиме реального времени и линии их маршрутов.
Увидеть транспортные средства
Выбрать тип транспорта
Выбрать маршрут
Нажмите на панели кнопку ( «Смотрите этот же маршрут в приложении» ), и информация о выбранном маршруте будет передана мобильному приложению Яндекс.Карты в вашем смартфоне (для этого он должен быть привязан к вашему аккаунту).
Вы можете также найти нужный маршрут, см. раздел Поиск на карте.
Выбрать остановку
Мой транспорт
В список Мой транспорт вы можете включить избранные остановки и маршруты.
В открытой карточке маршрута или остановки нажмите кнопку Сохранить на панели. Маршрут или остановка будет включен в список, кнопка изменит цвет ( ).
Исключить из списка
В открытой карточке маршрута или остановки нажмите кнопку Удалить в карточке на панели. Маршрут или остановка будет исключен из списка, кнопка изменит цвет ( ).
Включить отображение Моего транспорта
Включите опцию Мой транспорт и на карте отобразятся метки только тех транспортных средств, маршруты которых включены в список «Мой транспорт» :
Опция доступна только тогда, когда вы авторизованы и уже включили в список Мой транспорт хотя бы один объект.
Выключите опцию, чтобы увидеть все транспортные средства.
Частые вопросы
Ответы на частые вопросы о движущемся транспорте на карте см. в разделе Частые вопросы о транспорте справки мобильного приложения Яндекс.Карты.
Общественный транспорт
Вы можете увидеть транспортные средства общественного транспорта в режиме реального времени и линии их маршрутов.
Увидеть транспортные средства
Нажмите на панели кнопку , чтобы открыть мобильное приложение Яндекс.Карты на вашем смартфоне.
Выбрать тип транспорта
Выбрать маршрут
Нажмите на панели кнопку ( «Смотрите этот же маршрут в приложении» ), и информация о выбранном маршруте будет передана мобильному приложению Яндекс.Карты в вашем смартфоне (для этого он должен быть привязан к вашему аккаунту).
Вы можете также найти нужный маршрут, см. раздел Поиск на карте.
Выбрать остановку
Мой транспорт
В список Мой транспорт вы можете включить избранные остановки и маршруты.
В открытой карточке маршрута или остановки нажмите кнопку Сохранить на панели. Маршрут или остановка будет включен в список, кнопка изменит цвет (
).
Исключить из списка
В открытой карточке маршрута или остановки нажмите кнопку Удалить в карточке на панели. Маршрут или остановка будет исключен из списка, кнопка изменит цвет (
).
Включить отображение Моего транспорта
Включите опцию Мой транспорт и на карте отобразятся метки только тех транспортных средств, маршруты которых включены в список «Мой транспорт» :
Опция доступна только тогда, когда вы авторизованы и уже включили в список Мой транспорт хотя бы один объект.
Выключите опцию, чтобы увидеть все транспортные средства.
Частые вопросы
Ответы на частые вопросы о движущемся транспорте на карте см. в разделе Частые вопросы о транспорте справки мобильного приложения Яндекс.Карты.
Как я сделал свой «Яндекс.Транспорт» с расписанием и автобусами
С чего все началось
Осенью 2014 года появилась радостная новость о том, что в Воронеже заработал Яндекс.Транспорт, который показывает движение автобусов и троллейбусов. Было очень круто прямо на остановке открыть расписание и узнать, что ваш автобус подойдет через 5 минут.
Но уже через пару месяцев все пошло по вполне предсказуемому сценарию. Поскольку весь транспорт в Воронеже от троллейбуса до маршрутки работает «на наличке», каждый водитель заинтересован в том, чтобы перевезти как можно больше пассажиров. В результате они устраивают гонки между собой.
Новый сервис водители использовали, чтобы следить друг за другом по карте, обгоняя и подрезая конкурентов на дороге. У некоторых начала падать выручка, они стали жаловаться владельцам маршрутов, а те пошли к людям, продающим оборудование с ГЛОНАСС и GPS и отправляющим данные о перемещениях машин в Яндекс. По просьбам хозяев автопарков они информацию отправлять перестали, и автобусы сразу начали исчезать с карты. Сейчас их стало чуть побольше, но это все равно гораздо меньше, чем на самом деле.
Для тех, кому лень читать дальше, предлагаю видео доклада на эту тему:
Для остальных — опишу проект в виде текста.
Где взять данные?
При этом в в Воронеже есть место, где собираются все данные — Центр Организации Дорожного Движения (ЦОДД). У них на сайте есть большое и тяжелое веб-приложение с неотлаженным JavaScript и прочими артефактами, при этом все в нем идет POST-запросами и ничего не кешируется. С помощью самого этого сайта можно запросто положить сервис, который собирает данные о передвижении автобусов.
Там имелась опция, позволяющая ткнуть на карту и узнать, когда придет автобус и каким он будет. При условии, что вы приблизительно попадаете в остановку (± 50 метров). В меню можно было открыть список маршрутов и посмотреть, где именно ездят автобусы, но там была проблема — ездили они странно. Например, по Кольцовской, улице в центре, где особенно не разгонишься, автобус перемещался вперёд и назад со скоростью примерно 200 км/ч.
Почему Python?
Я выбрал Python потому что он классный, батарейки в комплекте, и т. д. А 3.6 потому, что здесь есть форматирование строковых литералов, typing, вот это всё. Давайте посмотрим на то, что я в принципе использовал:
Функционал бота
Команды я постарался описать достаточно полно, чтобы люди не спрашивали, как ими пользоваться. Базовых команд по сути две: nextbus, когда вы пишете название остановки, и отправка местоположения.
Функционал сайта
Bеб-сайт я сделал настолько минималистичным, насколько это в принципе возможно. Из сторонних библиотек использовал всего две, для поддержки fetch и promise, потому что старые версии предустановленных браузеров в телефонах не умеют обходиться без них. Если не поддержать эти методы, получится достаточно тяжелая лапша из коллбеков для самих запросов. С fetch все выглядит изящнее.
Собственно, функционал здесь состоит из 4 пунктов:
***
К счастью, Python — это язык с батарейками из коробки. Для несложных вещей, вам даже ничего скачивать не нужно, достаточно внимательно прочитать документацию.
Разумеется, такие сервисы можно делать и для других городов, более того, в некоторых они уже работают. Многое зависит от местного ЦОДД, кое-где, например, в Санкт-Петербурге есть даже API для разработчиков. Но самое главное — горожане, которые хотят менять свой город к лучшему.