Существует более новая версия этого документа с примерами использования новых API для работы с местами (Places API) и маршрутами (Routes API).
Обычно, когда пользователь едет к интересующему его месту (POI), ему требуется навигация до ближайшего пункта назначения, например, парковки или точки доступа. Представьте водителя, которому нужно добраться до аэропорта или торгового центра. В аэропорту водитель стремится попасть к терминалу или месту высадки, а не в центр аэропорта. Аналогично, парковка рядом с торговым центром может быть гораздо лучшим вариантом для пользователя на автомобиле. В этом случае при разработке приложения или сервиса для навигации водителя сначала определите место назначения, а затем предложите водителю варианты пунктов назначения рядом с этим местом. Такой подход позволяет предоставлять более качественный сервис клиентам и демонстрировать, что вы цените их время, с помощью небольших, но продуманных усилий по разработке, использующих данные о местоположении, предоставляемые платформой Google Maps.
Упрощенное представление систем, задействованных при направлении водителя к месту назначения с помощью автомобиля.

Мы покажем, как можно использовать API мест и API направлений последовательно или в комбинации, чтобы определить подходящее место для парковки рядом с пунктом назначения. Это решение призвано устранить неопределенность и множество взаимодействий при поиске места для парковки во время движения, когда вы уже приближаетесь к конечному пункту назначения. Давайте рассмотрим два примера того, как эти случаи могут быть реализованы более подробно.
Пример 1 — туристическая достопримечательность без парковки.
Выберем место, не имеющее прямого соединения с дорогой, чтобы маршрут нужно было прокладывать отдельно. Пункт назначения — собор Нотр-Дам в Париже, а в качестве отправной точки возьмем железнодорожный вокзал Гар де л'Эст (48.87697775149635, 2.3592247806755564).

Водитель отъезжает от станции примерно в 16 минутах к северу от Нотр-Дама. Нотр-Дам — известная туристическая достопримечательность на острове, куда можно добраться по мосту, где есть несколько улиц с односторонним движением и нет большой парковки поблизости, так что это должно стать интересным испытанием.
Запрос API мест
В этом примере запроса к API Places используется «текстовый поиск» для поиска Нотр-Дама. Подробности см. в документации для разработчиков . «YOUR_KEY» в этих примерах — это ключ API, который у вас есть для API Places и Directions платформы Google Maps, включенных в консоли Google Cloud. Для более подробного объяснения см. документацию по началу работы с платформой Google Maps .
https://maps.googleapis.com/maps/api/place/textsearch/json?query=notre_dame&location=48.864716%2C2.349014®ion=fr&key=YOUR_KEY
В ответ на вышеуказанный запрос получены следующие координаты широты и долготы:
"results" : [ { "formatted_address" : "Notre Dame, Paris", "geometry" : { "location" : { "lat" : 48.8527288, }, ...
Как видите, координаты действительно указывают на собор Нотр-Дам.
![]() | ![]() |
Разработчикам и поставщикам услуг было бы неплохо автоматически предлагать водителю найти парковку рядом с Нотр-Дамом. Пользовательский опыт будет различаться в зависимости от устройства и экрана, но в данном случае стоит рассмотреть вариант с ненавязчивым всплывающим текстом, который исчезает через короткое время. Чтобы найти парковку рядом с Нотр-Дамом, выполните текстовый поиск через Places API, указав тип «парковка» и радиус «300». В этом примере результаты будут смещены в сторону парковок в пределах 300 метров от Нотр-Дама.
https://maps.googleapis.com/maps/api/place/textsearch/json?query=parking
&location=48.8527288%2C2.3505635®ion=fr&type=parking&radius=300&key=YOUR_KEY
Первый результат — «Парковка Saemes Maubert-Lagrange» по координатам 48.850591, 2.3486436. Давайте используем это местоположение в следующей части, где мы будем выполнять запрос к API маршрута.
Запрос API для построения маршрута
Чтобы найти маршрут от вокзала до парковки рядом с Нотр-Дамом, необходимо выполнить запрос к API Directions. Просто укажите параметры начала и конца маршрута. Дополнительные параметры см. в документации для разработчиков .
https://maps.googleapis.com/maps/api/directions/json?origin=48.8767903,2.3592251&destination=48.850591%2C2.3486436&key=YOUR_KEY
Ответ API Direction обычно содержит несколько вариантов маршрута. Каждый маршрут состоит из нескольких «участков», каждый из которых содержит несколько «шагов», показывающих пройденное расстояние и координаты. Чтобы найти конечные координаты, до которых можно добраться на автомобиле, используйте поле «end_location» последнего шага заключительного участка выбранного вами маршрута.
Возможно, это место покажется не самым лучшим вариантом, но если вы посмотрите на карту или Google Street View, то увидите, что оно находится в нескольких минутах ходьбы от Нотр-Дама, примерно в 6-7 минутах.

Пешеходный маршрут от парковки до Нотр-Дама.
Краткое изложение примера 1
Как видите, поиск парковочного места для автомобиля требует всего нескольких вызовов API и отображения предложения водителю. Это экономит время ваших пользователей, поскольку им не приходится ездить по улицам с односторонним движением или искать место для парковки в переполненном туристическом месте. Вкратце, мы выполнили следующие запросы API:
- Запрос к Places API для поиска координат Нотр-Дама.
- Запрос к Places API для поиска парковочной зоны в пределах 300 метров от указанных координат.
- Запрос к API Directions для поиска маршрута до парковки.
Пример 2. Как добраться до терминала в крупном аэропорту.

"types" : [ "airport", "point_of_interest", "establishment" ],
Однако любой, кто бывал в крупном аэропорту, знает, что пересадка между терминалами занимает значительное время, если вы случайно окажетесь не в том месте. В данном случае, поскольку тип результата поиска — «аэропорт», полезно автоматически выполнить последующий поиск по запросу «терминал», используя координаты лондонского аэропорта Хитроу (51.47016927594547, -0.45432767852489075). В примере также можно увидеть дополнительное ограничение радиуса поиска в 3000 метров.
https://maps.googleapis.com/maps/api/place/textsearch/json?query=terminal&location=51.47016927594547%2C-0.45432767852489075®ion=gb&key=YOUR_KEY&radius=3000
Приведенный выше запрос выдает список терминалов и отдельных пунктов высадки пассажиров в этих терминалах. Из списка результатов мы можем найти «Лондонский аэропорт Хитроу, Терминал 5» и его идентификатор:
"place_id" : "ChIJtQRd6XVxdkgRTUGZtcsoGNc",
Используя параметр «place_id», мы можем сообщить API Directions, что пытаемся добраться до места, а не до каких-либо произвольных координат.
https://maps.googleapis.com/maps/api/directions/json?origin=51.557263604707224,-0.2794575145680608&destination=place_id:ChIJtQRd6XVxdkgRTUGZtcsoGNc&key=YOUR_KEY
Как и в предыдущем примере, прочитав все шаги в JSON-ответе, вы найдете последнюю часть пути и координаты широты и долготы конечных точек (51.47079979999999, -0.4896765).

Краткое изложение примера 2
Как и в предыдущем примере, затраты на разработку улучшенных инструкций для водителя очень невелики, а экономия времени для водителя легко измерима. Мы выполнили следующие запросы:
- Запрос к Places API для поиска аэропорта Хитроу.
- Запрос к Places API для поиска всех терминалов, расположенных рядом с координатами аэропорта Хитроу.
- Запрос к API Directions для получения маршрута до терминала 5.
Заключение
Как видите, усилия, необходимые для разработки и предоставления первоклассного сервиса вашим клиентам, путешествующим на автомобиле, довольно невелики и позволяют вам легко продемонстрировать, как вы учитываете потребности своих клиентов.
В целях разработки вы можете использовать множество доступных библиотек и инструментов, которые помогут вам создавать сервисы для ваших клиентов. Ознакомьтесь с нашим общедоступным репозиторием на GitHub для Google Maps Platform .
Следующие действия
Основной автор
Микко Тойванен | Инженер по решениям платформы Google Maps

