Гугл маршруты от и до

От автора: не так давно в уроке по геокодированию, мы с Вами научились отображать на карте Google maps метку в соответствии с определенным заданным адресом. Но так как само по себе API вышеуказанного сервиса очень объемное и содержит множество различных элементов, я решил не останавливаться и продолжить развивать данную тему, тем более что в комментариях Вы писали об этом.

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

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

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

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

При этом в качестве адреса задания будет использоваться следующие данные.

1 2 3 4 5 6 7 8 $arr = array( ‘a’ => ‘Киев:Митрополита Василия Липковского, д.23’, ‘b’ => ‘Киев:Крещатик,д.26’, ‘c’ => ‘Киев:Ивана Кудри, д. 39’, ‘d’ => ‘Киев:Садовая, д.22’ );

Конечно, Вы можете спросить, а как данные адреса хранятся в базе данных? И ответ прост — адреса, содержащиеся в массиве, преобразуются в строку формата JSON и только тогда добавляются в базу данных. Как раз на первом скриншоте, в таблице видно JSON представление адреса для второго задания. На странице деталей выбранного задания, данные отображаются в следующем виде.

Обратите внимание, что в маршруте точка a – это начало движения, точка d – пункт назначения, а соответственно, b и с – промежуточные точки, которые курьер должен посетить. Теперь давайте займемся отображением карты на экран.

В файле users.php, который представляет собой шаблон отображения деталей выбранного задания, я сразу же подключил API от сервиса Google Maps:

1 2 <script async=»» defer=»» src=»https://maps.googleapis.com/maps/api/js?key=mykey&amp;callback=initMap»> </script>

Обратите внимание, что в качестве параметра mykey – необходимо передать Ваш сгенерированный ключ API Google (об этом мы подробно говорили на предыдущем уроке). Так же в учетной записи, потребуется подключить библиотеку Google Maps Directions Api.

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

Первым делом в вышеуказанной функции, необходимо сформировать будущую карту и ее объект записать в переменную map. При создании объекта в функцию конструктор необходимо передать элемент, в который будет помещена карта (выборку которого осуществляем по идентификатору при помощи метода getElementById()).

Далее формируем два объекта необходимых нам сервисов – directionsDisplay и directionsService. Для расчета требуемого маршрута мы воспользуемся сервисом DirectionsService (документацию о нем можно почитать ) от компании Google. Используя, объект этого сервиса мы как бы получаем доступ к специальной службе маршрутов API Google Maps, которая получает запросы направления и возвращает вычисленные результаты. Соответственно для отображения результатов вычислений на экран мы обратимся к другому сервису под названием DirectionsRenderer.

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

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Запрос будет далее отправляться, используя метод route(), с параметрами, определенными в объекте request. В примере используются следующие свойства:

origin – пункт начала маршрута;

destination – пункт назначения;

waypoints – промежуточные точки маршрута;

travelMode – тип движения – в нашем случае на автомобиле.

Как Вы видите в коде выше, используется вывод на экран переменных языка PHP, и это не удивительно, так как данные были возвращены из базы данных.

Напомню, что адреса хранятся в строке формата JSON в следующем виде:

1 {«a»:»Киев:Митрополита Василия Липковского, д.23″,»b»:»Киев:Крещатик,д.26″,»c»:»Киев:Ивана Кудри, д. 39″,»d»:»Киев:Садовая, д.22″}

А значит, преобразуем строку в массив, с которым будет удобно работать (в переменной $user – содержится интересующая нас строка):

1 2 3 4 5 6 $address = (array)json_decode($user); $address = array_map(function($item) { $row = explode(‘:’,$item); return $row; }, $address);

В этом случае результат будет выглядеть следующим образом:

Далее сформируем значения переменных, используемых для задания свойств объекта запроса.

Теперь, когда значения переменных определены, необходимо отправить запрос к сервису Google Maps и для этого вызовем на исполнение метод route(), объекта directionsService.

В качестве первого аргумента, передается объект запроса, а в качестве второго функция, которая будет вызвана на исполнение после получения ответа. В свою очередь функция принимает так же два параметра – объект ответа и статус отправленного запрос. Если запрос был выполнен успешно (то есть в статусе содержится строка “OK”) то, используя объект directionsDisplay, мы задаем, рассчитанные маршруты, и отображаем их на карте, используя метод setMap(). Теперь давайте посмотрим на результаты:

Как Вы видите, маршрут успешно отображается на экране, а значит, урок можно завершать. Всего Вам доброго и удачного кодирования!!!

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Получить

Планирование автомобильной поездки может быть как захватывающим занятием, так и напряженной работой. С таким множеством факторов, которые необходимо учитывать, легко запутаться. Какие маршруты лучше выбрать, как избежать трафика или дорожных сборов, как включить все интересующие пункты по ходу путешествия – со всем этим бывает сложно разобраться самостоятельно. К счастью, приложение Карты от Google (Google Maps) упрощает создание маршрутов и даже может настраивать их на ходу.
Карты предлагают возможность визуализировать маршрут между любыми интересующими Вас пунктами. В зависимости от того, как Вы хотите организовать свою поездку, приложение позволяет Вам указывать конкретный пункт назначения (например, Тако-бар в Вене) или же более неопределенный адрес (например, Австрия), и вычислит для Вас идеальные маршруты, из которых Вы сможете выбрать наиболее подходящий для Вас. Вы также можете использовать встроенные фильтры карт, чтобы сузить свои параметры на основе различных факторов (дорожные сборы, трафик и т.д.).
Готовы планировать маршрут? Начинаем работу с Картами Google.

>Начало работы с Картами Google Карты Google доступны онлайн или через приложение для смартфонов. Оба формата работают одинаково.

Вычислить маршрут с Картами Google

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

Два известных адреса

Откройте Google Maps и нажмите значок Направления, расположенный на панели поиска справа:


Появится синее окно с несколькими значками, которые представляют различные виды транспорта (автомобиль, автобус, поезд, велосипед, самолет или пешком):

По умолчанию Карты автоматически рассчитывают лучший маршрут для автомобильных поездок, но Вы можете легко переключиться на другой вид транспорта, просто нажав на один из значков.
Введите точку отправления в первом поле, а пункт назначения – во втором. Затем нажмите Рассчитать. На полученной карте Ваша отправная точку будет отмечена черно-белой каплей, а Ваш пункт назначения – красной. Возможные маршруты обозначаются либо синей линией (которая указывает наиболее эффективный маршрут), либо одним из двух типов серых линий (указывающих альтернативные маршруты):

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

Один известный адрес

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

Зайдите в Google Maps и введите нужное место в поле поиска или нажмите кнопку Направления справа в строке поиска. Введите пункт назначения в поле поиска:


Карты предоставят Вам наложение Вашего адреса, а также любую информацию о местоположении. Нажмите на значок Указания в этом же меню. Карты попросят Вас предоставить отправную точку. Введите Ваше текущее местоположение в строку поиска, чтобы создать маршрут на основе Вашей текущей позиции.

Вычислить маршрут Google Maps вручную

Этот третий способ использования Google Maps выполняется с помощью компьютерной мыши. Откройте Карты Google и увеличьте масштаб, чтобы найти пункт отправления или пункт прибытия. Нажмите на эту точку.
В открывшемся меню выберите Из этого местоположения или Это место. Затем найдите вторую точку назначения. Нажмите на нее и выберите одну из двух команд. Карты Google создадут идеальный маршрут между этими двумя точками.

Яндекс транспорт

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

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

Города России в которых вы можете следить за движением общественного транспорта: Москва и Московская область, Санкт-Петербург, Анжеро-Судженск, Балаково, Барнаул, Белово, Владивосток, Владимир, Волгоград, Вологда, Воронеж, Ейск, Екатеринбург, Иркутск, Казань, Калининград, Калуга, Каменск-Уральский, Кемерово, Киселевск, Кострома, Краснодар, Красноярск, Курск, Липецк, Магнитогорск, Нижнекамск, Нижний Новгород, Новокузнецк, Новосибирск, Обнинск, Омск, Осинники, Пермь, Прокопьевск, Ростов-на-Дону, Рязань, Салехард, Самара, Саратов, Севастополь, Симферополь, Смоленск, Сочи, Тамбов, Тверь, Тольятти, Томск, Тула, Уфа, Хабаровск, Чебоксары, Челябинск, Череповец, Юрга, Ярославль. Также вы можете проложить маршрут на карте города в Астане и в городах Беларуси: Барановичах, Бобруйске, Бресте, Витебске, Гродно, Лиде, Минске, Могилёве, Пинске, Слуцке. Оно поможет если вы будете в Будапеште, Окленде, Рио-де-Жанейро, Сан-Паулу, Сантьяго, Тампере и Хельсинки.

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

Яндекс Транспорт: в чем заключаются возможности приложения

Безусловно, возможность отслеживать, как передвигается в реальном времени городской транспорт, это одна из основных возможностей, которое предоставляет приложение Яндекс Транспорт. Нельзя не отметить, что это не единственная польза от использования приложения, которая доступна пользователям. Установив программу на своем компьютере, телефоне или другом устройстве с доступом к сети интернет, каждый пользователь получает следующие возможности:

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

Программа Яндекс Транспорт расширяет свои территориальные границ, охватывая новые города. На территории России, приложение работает не только в самых крупных городах, этот список гораздо обширнее. Использовать приложение можно и за рубежом, где оно работает на данный момент в самых крупных городах. Разработчики планируют со временем увеличить количество городов, где будет доступно приложение Яндекс Транспорт.

Преимущества Яндекс транспорт

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

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

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