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

Мы покажем, как использовать Places API и Directions API последовательно или в сочетании для определения подходящего места для парковки рядом с пунктом назначения. Это решение призвано устранить неопределённость и необходимость многократного взаимодействия при поиске парковочного места по мере приближения к конечному пункту назначения. Давайте рассмотрим два примера подробной реализации этих вариантов.
Пример 1 — туристическая достопримечательность без парковки
Давайте выберем место, которое не имеет прямого выхода к дороге, так что маршрут нужно будет прокладывать отдельно. Пунктом назначения будет Собор Парижской Богоматери в Париже, а в качестве отправной точки возьмем железнодорожный вокзал Gare de l'Est (48.87697775149635, 2.3592247806755564).

Водитель отъезжает от станции примерно в 16 минутах езды к северу от Нотр-Дама. Нотр-Дам — известная туристическая достопримечательность на острове, доступ к которой осуществляется по мосту, есть несколько улиц с односторонним движением и нет большой парковки поблизости, так что это должно быть интересным испытанием.
Запрос API мест
В этом примере запроса к API Places используется текстовый поиск для поиска собора Нотр-Дам. Подробности см. в документации разработчика . «YOUR_KEY» в этих примерах — это ваш ключ API для API Places and Directions платформы Google Карт, включенный в консоли Google Cloud. Более подробное объяснение см. в документации по началу работы с платформой Google Карт .
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, }, ...
Как видите, координаты действительно указывают на Нотр-Дам.
![]() | ![]() |
Как разработчик или поставщик услуг, мы рекомендуем автоматически подсказывать водителю: «Ищете парковку рядом с Нотр-Дам?». Пользовательский опыт будет отличаться в зависимости от устройства и экрана, но в данном случае стоит рассмотреть возможность использования незаметного всплывающего текста, исчезающего через короткое время. Чтобы найти парковку рядом с Нотр-Дам, выполните текстовый поиск через API Places, указав тип поиска «парковка» и радиус «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 Directions.
Запрос 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:
- Запрос API Places для поиска координат Нотр-Дама
- Запрос API Places на поиск парковки в радиусе 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
Запрос выше выдаёт список терминалов и отдельных мест высадки в этих терминалах. В списке результатов мы находим «London Heathrow Airport Terminal 5» и его идентификатор:
"place_id" : "ChIJtQRd6XVxdkgRTUGZtcsoGNc",
Используя параметр «place_id», мы можем сообщить API направлений, что мы пытаемся достичь определенного места, а не каких-то произвольных координат.
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
Как и в предыдущем примере, затраты на разработку улучшенных инструкций для водителя очень невелики, а экономия времени водителя легко поддаётся измерению. Мы выполнили следующие запросы:
- Запрос API Places для поиска аэропорта Хитроу
- Запрос API Places для поиска всех терминалов рядом с координатами аэропорта Хитроу
- Запрос API Directions для получения маршрута к терминалу 5
Заключение
Как вы видите, усилия по разработке, необходимые для предоставления первоклассного сервиса вашим клиентам, путешествующим на автомобиле, довольно невелики и позволяют вам легко продемонстрировать, как вы думаете о потребностях своих клиентов.
Для разработки вы можете использовать множество доступных библиотек и инструментов, которые помогут вам создавать сервисы для ваших клиентов. Ознакомьтесь с нашим общедоступным репозиторием GitHub для платформы Google Карт .
Следующие действия
- Навигация снаружи помещения в помещение
- Создание возможности проверки местоположения с помощью карт Google
Основной автор
Микко Тойванен | Инженер по решениям платформы Google Maps