Pobieranie danych o podróży

Aby otrzymywać aktualizacje danych o podróży z Map Google lub Waze, skonfiguruj backend, korzystając z jednej z tych opcji:

  • metodę pobierania danych za pomocą interfejsu Navigation Connect API;
  • Metoda push oparta na zdarzeniach, która korzysta z Google Cloud Pub/Sub.

Opcja 1. Użyj interfejsu Navigation Connect API

Aby ręcznie pobrać najnowszy stan przejazdu, wywołaj metodę GetTrip z niepowtarzalnym identyfikatorem przejazdu.

Z przykładu poniżej dowiesz się, jak wywołać interfejs API z wiersza poleceń przy użyciu domyślnego uwierzytelniania aplikacji (ADC) do autoryzacji żądania typu serwer-serwer.

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

Dostosowywanie formatów linii łamanych (tylko Waze)

Jeśli podczas tworzenia podróży włączysz raportowanie pozostałej trasy, możesz dostosować reprezentację zwróconej polilinii pozostałej trasy podczas wywoływania metody GetTrip.

Aby wybrać format polilinii, w żądaniu uwzględnij parametr routePolylineFormat. Obsługiwane formaty to:

  • ENCODED: standardowy zakodowany ciąg znaków linii łamanej (5 miejsc po przecinku).
  • S2ENCODED: zakodowana linia S2Polyline.
  • GEO_JSON: format GeoJSON LineString.

Opcja 2. Korzystanie z Google Cloud Pub/Sub

Aby otrzymywać regularne aktualizacje dotyczące przejazdów, zasubskrybuj temat Google Cloud Pub/Sub. Gdy kierowca wyrazi zgodę, Navigation Connect będzie wysyłać aktualizacje bezpośrednio do Twojego tematu.

Wprowadzenie do przesyłania wiadomości znajdziesz w krótkim przewodniku po Pub/Sub.

W sekcjach poniżej opisujemy, jak używać Google Cloud Pub/Sub do odbierania danych z sesji nawigacji w Mapach Google lub Waze.

1. Tworzenie tematu

Utwórz w projekcie Google Cloud temat o nazwie navigation_connect_trip_notifications, wykonując te czynności:

  1. Włącz interfejs Pub/Sub API.
  2. W konsoli Google Cloud otwórz stronę tematów Pub/Sub.
  3. Kliknij Utwórz temat.
  4. W polu Identyfikator tematu wpisz navigation_connect_trip_notifications.

  5. Kliknij Utwórz.

Konsola wyświetla pełną nazwę tematu jako projects/project-number/topics/navigation_connect_trip_notifications, gdzie project-number to Twój unikalny numer projektu.

2. Przyznawanie uprawnień do publikowania kontu usługi Navigation Connect

Google używa konta usługi do publikowania aktualizacji podróży w tematach Google Cloud Pub/Sub. Aby otrzymywać aktualizacje w temacie, przyznaj projects.topics.publishtemu kontu usługi uprawnienia do tego tematu:geo-navigation-connect-pubsub@system.gserviceaccount.com.

Więcej informacji znajdziesz w dokumentacji Pub/Sub na temat kontroli dostępu.

3. Integracja z backendem

Aby przetwarzać aktualizacje, napisz aplikację po stronie serwera, która uwierzytelnia i subskrybuje Twój temat. Aby usprawnić proces tworzenia, użyj bibliotek klienta Pub/Sub. Do testowania możesz też użyć interfejsu wiersza poleceń gcloud i konsoli Google.

4. Testowanie subskrypcji

Sprawdź konfigurację za pomocą gcloud CLI lub konsoli Google Cloud.

interfejs wiersza poleceń gcloud

Pobierz wiadomości z subskrypcji (np. my-sub) za pomocą tego polecenia:

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

Konsola Google Cloud

W konsoli Google Cloud wykonaj te czynności:

  1. Otwórz stronę Subskrypcje.
  2. Wybierz subskrypcję i kliknij kartę Wiadomości.
  3. Kliknij Pobierz.

Co dalej?

Gdy zaczniesz otrzymywać dane o podróżach, przeanalizuj je, aby móc ich używać w swoich systemach i aplikacjach.

Zarządzanie danymi o podróży