Recupera datos de viajes

Para recibir actualizaciones de datos de viajes de Google Maps o Waze, configura tu backend con una de las siguientes opciones:

  • Un método de extracción con la API de Navigation Connect
  • Un método de envío basado en eventos con Google Cloud Pub/Sub

Opción 1: Usa la API de Navigation Connect

Para recuperar manualmente el estado más reciente del viaje, llama al método GetTrip con el ID de viaje único.

En el siguiente ejemplo, se muestra cómo llamar a la API desde la línea de comandos con tus credenciales predeterminadas de la aplicación (ADC) para autorizar la solicitud de servidor a servidor.

#!/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"

Personaliza los formatos de polilíneas (solo en Waze)

Si habilitaste el informe de ruta restante durante la creación del viaje, puedes personalizar la representación de la polilínea de ruta activa que se muestra cuando llamas al método GetTrip.

Para elegir un formato para la polilínea, incluye el parámetro routePolylineFormat en tu solicitud. Los formatos compatibles incluyen los siguientes:

  • ENCODED: Una cadena de polilínea codificada estándar (5 puntos decimales)
  • S2ENCODED: Una S2Polyline codificada
  • GEO_JSON: Un formato GeoJSON LineString

Opción 2: Usa Google Cloud Pub/Sub

Para recibir actualizaciones periódicas de viajes, suscríbete a un tema de Google Cloud Pub/Sub. Después de que el conductor dé su consentimiento, Navigation Connect enviará las actualizaciones directamente a tu tema.

Para obtener una introducción a la mensajería, consulta la guía de inicio rápido de Pub/Sub.

En las siguientes secciones, se describe cómo usar Google Cloud Pub/Sub para recibir datos de una sesión de navegación con Google Maps o Waze.

1. Crea un tema

Crea un tema llamado exactamente navigation_connect_trip_notifications en tu proyecto de Google Cloud, de la siguiente manera:

  1. Habilita la API de Pub/Sub.
  2. Ve a la página Temas de Pub/Sub en la consola de Google Cloud.
  3. Haz clic en Crear tema.
  4. Ingresa navigation_connect_trip_notifications en el campo ID del tema.

  5. Haz clic en Crear.

La consola muestra el nombre completo del tema como projects/project-number/topics/navigation_connect_trip_notifications, en el que project-number es tu número de proyecto único.

2. Otorga permiso de publicación a la cuenta de servicio de Navigation Connect

Google usa una cuenta de servicio para publicar actualizaciones de viajes en temas de Google Cloud Pub/Sub. Para recibir actualizaciones en tu tema, otorga el permiso projects.topics.publish para este tema a la siguiente cuenta de servicio: geo-navigation-connect-pubsub@system.gserviceaccount.com.

Para obtener más información, consulta la documentación de Pub/Sub sobre el control de acceso.

3. Integra con tu backend

Para procesar actualizaciones, escribe una aplicación del servidor que se autentique y se suscriba a tu tema. Usa las bibliotecas cliente de Pub/Sub para un desarrollo optimizado. Para realizar pruebas, también puedes usar la CLI de gcloud y la consola de Google.

4. Prueba tu suscripción

Verifica tu configuración con la CLI de gcloud o la consola de Google Cloud.

gcloud CLI

Extrae mensajes de una suscripción (por ejemplo, my-sub) con el siguiente comando:

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

Consola de Google Cloud

En la consola de Google Cloud, sigue estos pasos:

  1. Abre la página Suscripciones.
  2. Selecciona tu suscripción y haz clic en la pestaña Mensajes.
  3. Haz clic en Extraer.

¿Qué sigue?

Una vez que comiences a recibir datos de viajes, analiza los datos para usarlos en tus sistemas y apps.

Maneja datos de viajes