Recuperar dados de viagens

Para receber atualizações de dados de viagem do Google Maps ou do Waze, configure seu back-end usando uma das seguintes opções:

  • Um método de extração usando a API Navigation Connect ou
  • Um método push orientado a eventos usando o Google Cloud Pub/Sub.

Opção 1: usar a API Navigation Connect

Para buscar manualmente o status mais recente da viagem, chame o método GetTrip com o ID exclusivo da viagem.

O exemplo a seguir mostra como chamar a API na linha de comando usando suas Application Default Credentials (ADC) para autorizar a solicitação de servidor para 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"

Personalizar formatos de polilinha (somente no Waze)

Se você tiver ativado o relatório de rota restante durante a criação da viagem, poderá personalizar a representação da polilinha da rota ativa retornada ao chamar o método GetTrip.

Para escolher um formato para a polilinha, inclua o parâmetro routePolylineFormat na sua solicitação. Os formatos compatíveis incluem:

  • ENCODED: uma string de polilinha codificada padrão (cinco casas decimais).
  • S2ENCODED: uma S2Polyline codificada.
  • GEO_JSON: um formato GeoJSON LineString.

Opção 2: usar o Google Cloud Pub/Sub

Para receber atualizações regulares sobre a viagem, inscreva-se em um tópico do Google Cloud Pub/Sub. Depois que o motorista der consentimento, o Navigation Connect vai enviar atualizações diretamente para seu tópico.

Para uma introdução às mensagens, consulte o guia de início rápido do Pub/Sub.

As seções a seguir descrevem como usar o Google Cloud Pub/Sub para receber dados de uma sessão de navegação com o Google Maps ou o Waze.

1. Criar um tópico

Crie um tópico chamado exatamente navigation_connect_trip_notifications no seu projeto na nuvem do Google Cloud da seguinte maneira:

  1. Ative a API Pub/Sub.
  2. Acesse a página de tópicos do Pub/Sub no console do Google Cloud.
  3. Clique em Criar tópico.
  4. Insira navigation_connect_trip_notifications no campo ID do tópico.

  5. Clique em Criar.

O console mostra o nome completo do tópico como projects/project-number/topics/navigation_connect_trip_notifications, em que project-number é o número exclusivo do seu projeto.

2. Conceder permissão de publicação à conta de serviço do Navigation Connect

O Google usa uma conta de serviço para publicar atualizações de viagens em tópicos do Google Cloud Pub/Sub. Para receber atualizações sobre o assunto, conceda permissão projects.topics.publish para o tópico à seguinte conta de serviço: geo-navigation-connect-pubsub@system.gserviceaccount.com.

Para mais informações, consulte a documentação do Pub/Sub sobre controle de acesso.

3. Integrar com seu back-end

Para processar atualizações, escreva um aplicativo do lado do servidor que autentique e se inscreva no seu tópico. Use as bibliotecas de cliente do Pub/Sub para um desenvolvimento simplificado. Para testar, use a CLI gcloud e o Console do Google.

4. Testar sua assinatura

Verifique sua configuração usando a CLI gcloud ou o console do Google Cloud.

CLI da gcloud

Extraia mensagens de uma assinatura (por exemplo, my-sub) usando o seguinte comando:

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

Console do Google Cloud

No console do Google Cloud, faça o seguinte:

  1. Abra a página Assinaturas.
  2. Selecione sua assinatura e clique na guia Mensagens.
  3. Clique em Pull.

A seguir

Depois de começar a receber os dados de viagem, analise-os para usar nos seus sistemas e apps.

Processar dados de viagem