Как сделать Яндекс транспорт?

Общественный транспорт у вас в смартфоне

Контролируйте движение автобусов, троллейбусов, трамваев и маршруток на карте онлайн и не пропускайте свои остановки. Яндекс.Транспорт подскажет, как доехать куда вам надо, где ближайшая остановка, какой автобус довезёт до школы и где он сейчас едет. В движении сообщит, когда уже пора готовиться к выходу. В приложении есть данные общественного транспорта 83 городов.

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

Нажав на метку любого автобуса или трамвая, можно увидеть на карте его маршрут. Приложение сообщит, когда он придёт на ближайшую остановку и через какое время будет на конечной.

Подробная карта города поможет сориентироваться на месте, найти ближайшую остановку или станцию метро.

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

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

В приложении есть карты, остановки и городской транспорт Москвы, Санкт-Петербурга, Екатеринбурга, Новосибирска, Казани и других российских городов. Яндекс.Транспорт работает также в Киеве, Астане, городах Финляндии (Хельсинки и Тампере), Венгрии (Будапешт), Австралии (Сидней и Брисбен), Новой Зеландии (Окленд) и Беларуси (Барановичах, Слуцке, Лиде, Бобруйске, Пинске, Гродно, Витебске, Могилеве и Бресте).

tis-online.com

Как это делается Как работает приложение «Яндекс.Транспорт»

«Воздух» расспросил «Яндекс» про трюк в приложении «Транспорт», благодаря которому автобусы на его карте плывут, как в волшебном сне, — и как вообще эта полезная программа работает.

Идея «Яндекс.Транспорта» возникла у нас больше трех лет назад. Тогда метки автобусов появились в наших мобильных «Яндекс.Картах» как отдельный слой. Они были доступны в шести регионах, где мы договорились о получении данных от перевозчиков: Казань, Омск, Нижний Новгород, Пермь, Московская область и Новосибирск. Но тогда «Картами» с их слоем пробок и планировщиком маршрутов пользовались в основном автомобилисты. Чтобы не создавать им помех, слой общественного транспорта пришлось зарыть довольно глубоко. Поэтому, наверное, большой аудитории у этого слоя в «Яндекс.Картах» не было. Хотя понятно, что в России пешеходов гораздо больше, чем автомобилистов, к тому же многие во время опросов отмечали, что им не хватает сервиса про общественный транспорт.

Елизавета Семяновская, руководитель сервиса «Яндекс.Транспорт» Фотография: Даниил Аврех Дело в том, что пользователю на экране смартфона проще иметь одну кнопку для решения понятной задачи. Поэтому для передвижения на автомобиле мы сделали «Яндекс.Навигатор», на городском транспорте — «Яндекс.Транспорт» (а недавно появился «Яндекс.Парковки» для еще одной задачи — найти и оплатить стоянку в Москве).

«Яндекс.Транспорт» работает так. Каждая машина оборудована устройствами GPS и ГЛОНАСС, которые раз в 20–60 секунд передают по мобильному интернету сигналы о своем местоположении на сервер перевозчика. Установкой этих устройств занимаются сами перевозчики, муниципальные и частные. Сейчас приложению в Москве доступна информация о 758 автобусных, 80 троллейбусных и 38 трамвайных маршрутах, а также о 350 маршрутах «Автолайна». Мы получаем от перевозчиков ID машины, номер маршрута, тип транспорта (автобус, троллейбус, трамвай или маршрутка), время сигнала и координаты, широту и долготу. У нас есть траектории маршрутов всех номеров, и мы перепроверяем, действительно ли автобус 28 едет по маршруту автобуса 28. Это делается для того, чтобы исключить транспорт, который по каким-то причинам съехал со своего маршрута.

Автобусы-троллейбусы, данные которых успешно прошли проверку, показываются на карте в виде меток. Несмотря на отрывистые сигналы (напомню: раз в 20–60 секунд), машины в приложении плавно двигаются по карте. За эту плавность отвечает наш прогнозатор — алгоритм, который учитывает пробки и предыдущую историю движения метки (как этой конкретной, так и других на маршруте) и позволяет нам довольно правдоподобно двигать эту метку в промежутках между сигналами. Этот же прогнозатор отвечает за расчет прибытия транспорта на остановку.

Пока в «Яндекс.Транспорте» не было московских маршрутов, мы получали от москвичей проклятия, угрозы и требования. После подключения Москвы характер отзывов сильно изменился. Люди пишут, что теперь не мерзнут на остановке, выходят из дома, офиса или школы к моменту прибытия автобуса и вообще чувствуют себя с этим приложением всесильными. В Москве у «Яндекс.Транспорта» конкурентов пока нет. В некоторых российских городах, где данные перевозчиков доступны для разработчиков, аналоги есть. Это «Умный транспорт», «ЕТранспорт», Spb Transport Online. В мире тоже есть похожие приложения, но они скорее решают общую задачу, как добраться куда-либо. Это WikiRoutes, Moovit, Trafi, CityMapper, Transit (сюда же можно добавить Google Maps и его маршруты общественного транспорта едва ли не для каждого большого города на планете. — Прим. ред.). Но, как правило, в них нет возможности смотреть сразу на весь транспорт на карте. Если они и знают о живых данных, то показывают только метки по выбранному маршруту или прогноз прибытия на конкретную остановку.

У нас, разумеется, еще много планов по развитию сервиса, раскрыть которые мы не можем. Но я на всякий случай напомню всем неравнодушным, что еще у нас есть «Паровозики» и «Самолетики».

daily.afisha.ru

Как я сделал свой «Яндекс.Транспорт» с расписанием и автобусами

Автор: Михаил Аксенов, .NET Developer, DataArt

С чего все началось

Осенью 2014 года появилась радостная новость о том, что в Воронеже заработал Яндекс.Транспорт, который показывает движение автобусов и троллейбусов. Было очень круто прямо на остановке открыть расписание и узнать, что ваш автобус подойдет через 5 минут.

Еще по теме:   Как сделать слайдер в сниппете Яндекса?

Но уже через пару месяцев все пошло по вполне предсказуемому сценарию. Поскольку весь транспорт в Воронеже от троллейбуса до маршрутки работает «на наличке», каждый водитель заинтересован в том, чтобы перевезти как можно больше пассажиров. В результате они устраивают гонки между собой.

Новый сервис водители использовали, чтобы следить друг за другом по карте, обгоняя и подрезая конкурентов на дороге. У некоторых начала падать выручка, они стали жаловаться владельцам маршрутов, а те пошли к людям, продающим оборудование с ГЛОНАСС и GPS и отправляющим данные о перемещениях машин в Яндекс. По просьбам хозяев автопарков они информацию отправлять перестали, и автобусы сразу начали исчезать с карты. Сейчас их стало чуть побольше, но это все равно гораздо меньше, чем на самом деле.

Для тех, кому лень читать дальше, предлагаю видео доклада на эту тему:

Для остальных — опишу проект в виде текста.

Где взять данные?

При этом в в Воронеже есть место, где собираются все данные — Центр Организации Дорожного Движения (ЦОДД). У них на сайте есть большое и тяжелое веб-приложение с неотлаженным JavaScript и прочими артефактами, при этом все в нем идет POST-запросами и ничего не кешируется. С помощью самого этого сайта можно запросто положить сервис, который собирает данные о передвижении автобусов.

Там имелась опция, позволяющая ткнуть на карту и узнать, когда придет автобус и каким он будет. При условии, что вы приблизительно попадаете в остановку (± 50 метров). В меню можно было открыть список маршрутов и посмотреть, где именно ездят автобусы, но там была проблема — ездили они странно. Например, по Кольцовской, улице в центре, где особенно не разгонишься, автобус перемещался вперёд и назад со скоростью примерно 200 км/ч.

Почему Python?

Я выбрал Python потому что он классный, батарейки в комплекте, и т. д. А 3.6 потому, что здесь есть форматирование строковых литералов, typing, вот это всё. Давайте посмотрим на то, что я в принципе использовал:

  • Многие жаловались, что вбить точное название остановки со всякими знаками препинания очень тяжело. Тогда я реализовал возможность нечеткого поиска и создал для него первый юнит-тест.
  • Вся система хостится на Heroku. Бесплатно, поскольку у меня нет базы данных — я надеюсь обойтись базой ЦОДДа. О ее использовании я договорился с Центром, когда понял, что данных, которые я забираю через веб-интерфейс, недостаточно.
  • Собственно, хостинг идет через веб-сервер Tornado. Думаю, он знаком каждому, кто сталкивался с веб-запросами в Python.
  • Пакет Pytz понадобился мне, потому что сервер Heroku находится в другом часовом поясе, а данные ко мне поступают без указания временной зоны. Поэтому я сам позаботился о локализации.
  • Для создания бота я использовал рекомендованную библиотеку Python-telegram-bot. Документация здесь вполне адекватная, и вообще библиотека соответствует требованиям minimum viable product. Изначально весь проект представлял собой Telegram-бота, который в ответ на отправку вашего местоположения присылал расписание автобусов.
  • Firebird, бывший Interbase — Open source база данных, с которой, полагаю, многие из вас работали. Конечно, она не такая крутая, как тот же самый PostgreSQL, но для очень большого количества запросов ее достаточно. В нашем случае большего не нужно.
  • Caсhetools — очень простой модуль, который позволяет кешировать вычисления. Речь тут, конечно, не о memecached или кешировании веб-страниц, а о тех случаях, когда вам нужна мемоизация на долгие запросы. Просто берете, добавляете соответствующий декоратор — и всё работает. Кеш имеет разные варианты, я использую TTL-версию, который сохраняет данные на указанное время, потому что я знаю, что данные не будут обновляться чаще, чем через определённые промежутки времени (в моём случае — 30 секунд).

Функционал бота

  • /nextbus имя остановки — ожидаемое время прибытия;
  • /last номера маршрутов через пробел — последние остановки;
  • Отправка местоположения — ожидаемое время прибытия для ближайших трех остановок;
  • Свободный ввод — номера маршрутов и расстояние до автобусов (при отправке местоположения).

Команды я постарался описать достаточно полно, чтобы люди не спрашивали, как ими пользоваться. Базовых команд по сути две: nextbus, когда вы пишете название остановки, и отправка местоположения.

Функционал сайта

Bеб-сайт я сделал настолько минималистичным, насколько это в принципе возможно. Из сторонних библиотек использовал всего две, для поддержки fetch и promise, потому что старые версии предустановленных браузеров в телефонах не умеют обходиться без них. Если не поддержать эти методы, получится достаточно тяжелая лапша из коллбеков для самих запросов. С fetch все выглядит изящнее.

Собственно, функционал здесь состоит из 4 пунктов:

  1. Прибытие. Можно просто посмотреть остановку. Нажав на кнопку (ее, кстати, может быть, стоит сделать побольше — я подумаю!), вы отправляете свое местоположение, система ищет три ближайшие к вам остановки и показывает информацию по ним. Можно ввести название остановки и получить информацию по ней. Поскольку вам вряд ли нужны все 20–30 автобусов, которые могут приехать к остановке, вы можете отфильтровать их по маршрутам.
  2. Автобусы. На второй странице собрана информация по автобусам. Это связано еще с одной историей, подтолкнувшей меня к этому проекту. В один прекрасный день я забыл в автобусе шапку, позвонил в диспетчерскую, объяснил, где это случилось. Диспетчер предложил мне ловить свой автобус в центре, куда он вернется, развернувшись на конечной. Я вспомнил, что у меня есть логин и пароль от системы Центра организации дорожного движения, но оказалось, что отследить местоположение нужной мне машины я через веб-интерфейс все равно не могу. Шапку я вернул, но с большим трудом.
    Я подумал, что поиск автобуса мог бы быть гораздо проще. Написал номер маршрута, а система показывает тебе машины на линии, их текущее местоположение и время, когда они проходили остановки по пути. И даже если вы знаете номер маршрута, но вы знаете номер автобуса (такое тоже бывает), вы все равно сможете его найти.
  3. Карта. Карта на сайте без анимации. Здесь можно выбирать автобусы из списка или вводить номера вручную, можно их отфильтровать. На карте могут быть показаны до 600 автобусов, хотя уже после 20 найти что-то в центре становится сложно, просто потому, что маршруты все сконцентрированы здесь. Поэтому лучше ограничивать поиск параметрами более жестко.
  4. О проекте. Сейчас у проекта есть сайт, есть Telegram-бот, группы в соцсетях.
Еще по теме:   Как сделать кампанию в Яндекс директ?

***
К счастью, Python — это язык с батарейками из коробки. Для несложных вещей, вам даже ничего скачивать не нужно, достаточно внимательно прочитать документацию.

Разумеется, такие сервисы можно делать и для других городов, более того, в некоторых они уже работают. Многое зависит от местного ЦОДД, кое-где, например, в Санкт-Петербурге есть даже API для разработчиков. Но самое главное — горожане, которые хотят менять свой город к лучшему.

habr.com

Как сделать Яндекс транспорт?

Дорогие друзья, пользователи системы Андроид!

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

Выход есть. Если вы владелец смартфона, имеющего выход в Интернет, то с помощью хорошей бесплатной программы Яндекс.Транспорт вы в любой момент сможете посмотреть на карте в месте вашего текущего нахождения (впрочем, при необходимости также и в любом другом) реальную транспортную обстановку на подходах к вашей остановке.

Приложение при открытии определяет ваше местоположение и при нажатии на стрелочку в левом нижнем углу центрирует карту на нем.

На карте в реальном времени появляются движущиеся метки автобусов, троллейбусов, трамваев с указанием номера маршрута и направления движения. По этим меткам вы можете примерно определить, есть ли на подходе нужный транспорт, сколько вам его еще ожидать и решить, не стоит ли найти альтернативные варианты. Есть фильтр, с помощью которого можно оставить на карте только нужный вам маршрут.

При нажатии на значок остановки вы получаете список всех маршрутов, которые на ней останавливаются. При нажатии на метку транспорта вы получаете его конечные остановки.

По моему опыту, точность отображения реального положения не идеальная, но все-таки очень приличная. Ошибка по времени составляет не более 1-2 минут. Нужно только учесть, что отображаются, естественно, только транспортные средства, оборудованные системой навигации, а таких становится все больше.

Вы можете также наложить на карту информацию о пробках из сервиса Яндекс.Пробки, нажав на светофорчик слева вверху.

Короче, очень удобное приложение, выручало не раз. Естественно, требует для работы подключения к Интернету.

geodum.ru

Следим за движением общественного транспорта с Яндекс транспорт

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

Так или иначе никому не нравится ждать и хочется узнать, когда же приедет нужный транспорт. И хоть время прибытия того или иного маршрута указано в расписании, однако, когда знаешь, где именно, сейчас, находится нужный тебе транспорт, чувствуешь себя немного по уютней. А когда знаешь сколько у тебя времени еще есть, то, например, можно успеть купить что ни будь в ближайшем к остановке ларьке или магазине.

Как раз в этом и может помочь приложение Яндекс Транспорт, которое следит за перемещением общественного транспорта, показывает маршрут на карте и определяет в реальном времени, где сейчас находится тот или иной автобус, троллейбус, трамвай и т.д.

Яндекс транспорт, помимо отслеживания общественного транспорта, так же показывает сколько приблизительно времени осталась до прибытия того или иного маршрута. Для этого надо нажать нужную остановку на карте, и в открывшемся списке всех маршрутов, которые останавливаются на выбранной остановке, будет указано сколько времени осталось до их прибытия.

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

Если авторизоваться или зарегистрироваться в программе, то можно будет добавлять избранный транспорт и свои маршруты. Дополнительно, зарегистрированным пользователям, Яндекс Транспорт обещает особые награды.

Что касается отслеживаемого общественного транспорта, то в программе присутствуют все его виды. И если в вашем городе, допустим, нет метро, то в опциях программы можно выключить его метку.

В опциях Яндекс Транспорт, так же можно настраивать вид и поворот карты, включать и выключать: метки, вид транспорта, отображение дорожных событий и велопарковок. В сами опции можно пастью через кнопку в виде иконки с изображением человека в верхнем правом углу.

Что касается интерфейса программы, то он весьма понятен и разобраться в нем большого труда не составит. В верху расположено окно поиска с кнопкой опций, а внизу по углам, кнопки для добавления избранного транспорта и построения маршрута.

softgayd.ru

Как я сделал свой «Яндекс.Транспорт» с расписанием и автобусами

Автор: Михаил Аксенов, .NET Developer, DataArt

С чего все началось

Осенью 2014 года появилась радостная новость о том, что в Воронеже заработал Яндекс.Транспорт, который показывает движение автобусов и троллейбусов. Было очень круто прямо на остановке открыть расписание и узнать, что ваш автобус подойдет через 5 минут.

Но уже через пару месяцев все пошло по вполне предсказуемому сценарию. Поскольку весь транспорт в Воронеже от троллейбуса до маршрутки работает «на наличке», каждый водитель заинтересован в том, чтобы перевезти как можно больше пассажиров. В результате они устраивают гонки между собой.

Новый сервис водители использовали, чтобы следить друг за другом по карте, обгоняя и подрезая конкурентов на дороге. У некоторых начала падать выручка, они стали жаловаться владельцам маршрутов, а те пошли к людям, продающим оборудование с ГЛОНАСС и GPS и отправляющим данные о перемещениях машин в Яндекс. По просьбам хозяев автопарков они информацию отправлять перестали, и автобусы сразу начали исчезать с карты. Сейчас их стало чуть побольше, но это все равно гораздо меньше, чем на самом деле.

Еще по теме:   Как в Яндекс такси изменить город?

Для тех, кому лень читать дальше, предлагаю видео доклада на эту тему:

Для остальных — опишу проект в виде текста.

Где взять данные?

При этом в в Воронеже есть место, где собираются все данные — Центр Организации Дорожного Движения (ЦОДД). У них на сайте есть большое и тяжелое веб-приложение с неотлаженным JavaScript и прочими артефактами, при этом все в нем идет POST-запросами и ничего не кешируется. С помощью самого этого сайта можно запросто положить сервис, который собирает данные о передвижении автобусов.

Там имелась опция, позволяющая ткнуть на карту и узнать, когда придет автобус и каким он будет. При условии, что вы приблизительно попадаете в остановку (± 50 метров). В меню можно было открыть список маршрутов и посмотреть, где именно ездят автобусы, но там была проблема — ездили они странно. Например, по Кольцовской, улице в центре, где особенно не разгонишься, автобус перемещался вперёд и назад со скоростью примерно 200 км/ч.

Почему Python?

Я выбрал Python потому что он классный, батарейки в комплекте, и т. д. А 3.6 потому, что здесь есть форматирование строковых литералов, typing, вот это всё. Давайте посмотрим на то, что я в принципе использовал:

  • Многие жаловались, что вбить точное название остановки со всякими знаками препинания очень тяжело. Тогда я реализовал возможность нечеткого поиска и создал для него первый юнит-тест.
  • Вся система хостится на Heroku. Бесплатно, поскольку у меня нет базы данных — я надеюсь обойтись базой ЦОДДа. О ее использовании я договорился с Центром, когда понял, что данных, которые я забираю через веб-интерфейс, недостаточно.
  • Собственно, хостинг идет через веб-сервер Tornado. Думаю, он знаком каждому, кто сталкивался с веб-запросами в Python.
  • Пакет Pytz понадобился мне, потому что сервер Heroku находится в другом часовом поясе, а данные ко мне поступают без указания временной зоны. Поэтому я сам позаботился о локализации.
  • Для создания бота я использовал рекомендованную библиотеку Python-telegram-bot. Документация здесь вполне адекватная, и вообще библиотека соответствует требованиям minimum viable product. Изначально весь проект представлял собой Telegram-бота, который в ответ на отправку вашего местоположения присылал расписание автобусов.
  • Firebird, бывший Interbase — Open source база данных, с которой, полагаю, многие из вас работали. Конечно, она не такая крутая, как тот же самый PostgreSQL, но для очень большого количества запросов ее достаточно. В нашем случае большего не нужно.
  • Caсhetools — очень простой модуль, который позволяет кешировать вычисления. Речь тут, конечно, не о memecached или кешировании веб-страниц, а о тех случаях, когда вам нужна мемоизация на долгие запросы. Просто берете, добавляете соответствующий декоратор — и всё работает. Кеш имеет разные варианты, я использую TTL-версию, который сохраняет данные на указанное время, потому что я знаю, что данные не будут обновляться чаще, чем через определённые промежутки времени (в моём случае — 30 секунд).

Функционал бота

  • /nextbus имя остановки — ожидаемое время прибытия;
  • /last номера маршрутов через пробел — последние остановки;
  • Отправка местоположения — ожидаемое время прибытия для ближайших трех остановок;
  • Свободный ввод — номера маршрутов и расстояние до автобусов (при отправке местоположения).

Команды я постарался описать достаточно полно, чтобы люди не спрашивали, как ими пользоваться. Базовых команд по сути две: nextbus, когда вы пишете название остановки, и отправка местоположения.

Функционал сайта

Bеб-сайт я сделал настолько минималистичным, насколько это в принципе возможно. Из сторонних библиотек использовал всего две, для поддержки fetch и promise, потому что старые версии предустановленных браузеров в телефонах не умеют обходиться без них. Если не поддержать эти методы, получится достаточно тяжелая лапша из коллбеков для самих запросов. С fetch все выглядит изящнее.

Собственно, функционал здесь состоит из 4 пунктов:

  1. Прибытие. Можно просто посмотреть остановку. Нажав на кнопку (ее, кстати, может быть, стоит сделать побольше — я подумаю!), вы отправляете свое местоположение, система ищет три ближайшие к вам остановки и показывает информацию по ним. Можно ввести название остановки и получить информацию по ней. Поскольку вам вряд ли нужны все 20–30 автобусов, которые могут приехать к остановке, вы можете отфильтровать их по маршрутам.
  2. Автобусы. На второй странице собрана информация по автобусам. Это связано еще с одной историей, подтолкнувшей меня к этому проекту. В один прекрасный день я забыл в автобусе шапку, позвонил в диспетчерскую, объяснил, где это случилось. Диспетчер предложил мне ловить свой автобус в центре, куда он вернется, развернувшись на конечной. Я вспомнил, что у меня есть логин и пароль от системы Центра организации дорожного движения, но оказалось, что отследить местоположение нужной мне машины я через веб-интерфейс все равно не могу. Шапку я вернул, но с большим трудом.
    Я подумал, что поиск автобуса мог бы быть гораздо проще. Написал номер маршрута, а система показывает тебе машины на линии, их текущее местоположение и время, когда они проходили остановки по пути. И даже если вы знаете номер маршрута, но вы знаете номер автобуса (такое тоже бывает), вы все равно сможете его найти.
  3. Карта. Карта на сайте без анимации. Здесь можно выбирать автобусы из списка или вводить номера вручную, можно их отфильтровать. На карте могут быть показаны до 600 автобусов, хотя уже после 20 найти что-то в центре становится сложно, просто потому, что маршруты все сконцентрированы здесь. Поэтому лучше ограничивать поиск параметрами более жестко.
  4. О проекте. Сейчас у проекта есть сайт, есть Telegram-бот, группы в соцсетях.

***
К счастью, Python — это язык с батарейками из коробки. Для несложных вещей, вам даже ничего скачивать не нужно, достаточно внимательно прочитать документацию.

Разумеется, такие сервисы можно делать и для других городов, более того, в некоторых они уже работают. Многое зависит от местного ЦОДД, кое-где, например, в Санкт-Петербурге есть даже API для разработчиков. Но самое главное — горожане, которые хотят менять свой город к лучшему.

www.pvsm.ru

Поделиться:
Нет комментариев

Добавить комментарий

Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.

×
Рекомендуем посмотреть
Adblock
detector