Получить данные о поездке

Чтобы получать обновления данных о поездках от Google Maps или Waze, настройте свою серверную часть, используя один из следующих вариантов:

  • Метод получения данных с использованием API Navigation Connect, или
  • Метод push-уведомлений, управляемый событиями, с использованием Google Cloud Pub/Sub.

Вариант 1: Использовать API Navigation Connect

Чтобы вручную получить актуальный статус поездки, вызовите метод GetTrip , указав уникальный идентификатор поездки.

В следующем примере показано, как вызвать API из командной строки, используя ваши учетные данные по умолчанию для приложения (ADC), чтобы авторизовать запрос между серверами.

#!/bin/bash

gcloud auth application-default login
access_token="$(gcloud auth application-default print-access-token)"

# Call the GetTrip method
curl -X GET "https://navigationconnect.googleapis.com/v1/projects/PROJECT_ID/trips/TRIP_ID" \
-H "Authorization: Bearer ${access_token}" \
-H "Content-Type: application/json"

Настройка форматов полилиний (только в Waze)

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

Чтобы выбрать формат полилинии, укажите параметр routePolylineFormat в вашем запросе. Поддерживаются следующие форматы:

  • ENCODED : Стандартная закодированная строка полилинии (5 знаков после запятой).
  • S2ENCODED : Закодированная S2Polyline.
  • GEO_JSON : формат GeoJSON LineString.

Вариант 2: Использование Google Cloud Pub/Sub

Чтобы получать регулярные обновления о маршруте, подпишитесь на тему Google Cloud Pub/Sub. После подтверждения водителем Navigation Connect будет отправлять обновления непосредственно в выбранную вами тему.

Введение в систему обмена сообщениями см. в кратком руководстве по Pub/Sub .

В следующих разделах описывается, как использовать Google Cloud Pub/Sub для получения данных из сеанса навигации с помощью Google Maps или Waze.

1. Создайте тему.

Создайте в своем проекте Google Cloud тему с именем navigation_connect_trip_notifications следующим образом:

  1. Включите API Pub/Sub .
  2. Перейдите на страницу тем Pub/Sub в консоли Google Cloud.
  3. Нажмите «Создать тему» .
  4. В поле «Идентификатор темы» введите navigation_connect_trip_notifications .

  5. Нажмите «Создать» .

В консоли отображается полное имя темы в формате projects/ project-number /topics/navigation_connect_trip_notifications , где project-number — это уникальный номер вашего проекта.

2. Предоставьте учетной записи службы Navigation Connect разрешение на публикацию.

Google использует служебный аккаунт для публикации обновлений о поездках в темы Google Cloud Pub/Sub. Чтобы получать обновления в своей теме, предоставьте следующему служебному аккаунту разрешение projects.topics.publish для этой темы: geo-navigation-connect-pubsub@system.gserviceaccount.com .

Для получения более подробной информации см. документацию Pub/Sub по контролю доступа .

3. Интегрируйте с вашей серверной частью.

Для обработки обновлений напишите серверное приложение, которое будет аутентифицировать пользователя и подписываться на вашу тему. Используйте клиентские библиотеки Pub/Sub для упрощения разработки. Для тестирования вы также можете использовать GCloud CLI и Google Console .

4. Проверьте свою подписку.

Проверьте правильность настройки с помощью интерфейса командной строки gcloud или консоли Google Cloud.

gcloud CLI

Получайте сообщения из подписки (например, my-sub ) с помощью следующей команды:

gcloud pubsub subscriptions pull my-sub --auto-ack

Консоль Google Cloud

В консоли Google Cloud выполните следующие действия:

  1. Откройте страницу «Подписки» .
  2. Выберите свою подписку и перейдите на вкладку «Сообщения» .
  3. Нажмите «Потянуть» .

Что дальше?

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

Обработка данных о поездках