Z tego przewodnika dowiesz się, jak pobrać dane podróży bezpośrednio z Fleet Engine, jako jest alternatywą dla pakietu Consumer SDK. Możesz zastosować tę metodę, aby uzyskać więcej kontrolę nad wrażeniami użytkowników, jednocześnie korzystając z zalet floty Dokładna lokalizacja pojazdu, szacowany czas dotarcia na miejsce i trasy w czasie rzeczywistym z wyszukiwarki.
Szczegółowe informacje o korzystaniu z pakietu SDK dla klientów indywidualnych znajdziesz w artykule Udostępnianie ścieżek na żądanie podróży.
Pobieranie informacji o podróży
Aby pobrać informacje o podróży bezpośrednio z Fleet Engine, wywołaj GetTrip
określającą widok JOURNEY_SHARING_V1S
. Zapoznaj się z informacjami o RPC lub
REST.
Serwer zwykle odpytuje usługę podróży pod kątem stanu każdej podróży
podczas gdy pasażer aktywnie monitoruje postępy pojazdu. Lokalizacja pojazdu
aktualizacje odbywają się zwykle co 10 sekund, więc system powinien
stawki nie zmienia się. Pole Trip.last_location.update_time
można monitorować, aby sprawdzić, czy
od ostatniego połączenia z numerem GetTrip
pojawiły się jakieś zmiany.
static final String PROJECT_ID = "my-rideshare-co-gcp-project";
static final String TRIP_ID = "trip-A";
String tripName = "providers/" + PROJECT_ID + "/trips/" + TRIP_ID;
GetTripRequest getTripRequest =
GetTripRequest.newBuilder()
.setName(tripName)
.setView(JOURNEY_SHARING_V1S)
.build();
Trip trip = tripService.getTrip(getTripRequest);
Powstały w ten sposób obiekt Trip
ma następujące pola wypełnione najnowszymi danymi
dostępne informacje o podróży:
name |
trip_status |
remaining_waypoints |
vehicle_id |
trip_type |
last_location |
number_of_passengers |
pickup_point |
view (== JOURNEY_SHARING_V1S) |
actual_pickup_point |
intermediate_destinations |
intermediate_destination_index |
pickup_time |
intermediate_destinations_version |
dropoff_point |
actual_dropoff_point |
dropoff_time |
|
Pobieranie pozostałych punktów na trasie
Element Podróż zawiera pole powtarzane typu TripWaypoint
To pole
obejmuje wszystkie punkty, które musi pokonać pojazd, aby
do miejsca docelowego tej podróży. Określanie widoku udostępniania trasy
Fleet Engine do umieszczenia zaktualizowanych informacji w pozostałych punktach pośrednich[0]
TripWaypoint
W innych widokach, które nie są udostępniane w podróży, taki punkt pośredni
zwykle odzwierciedlają najnowsze położenie przypisanego pojazdu. Zobacz
odniesienie do RPC lub REST.
Więcej informacji znajdziesz w sekcji Stan podróży i pozostałe punkty na trasie pojazdu w przewodnika Wprowadzenie do podróży.
Oto przykład pola remaining_waypoints
dotyczącego podróży, Podróży A:
| |||||||||||||||||||||
|
W przypadku wspólnych podróży i wspólnych przejazdów ta lista może zawierać punkty pośrednie
z innych podróży, które warto pokonać. Na przykład:
scenariusz, w którym Podróż B jest przypisana do tego samego pojazdu co Podróż A.
Pole remaining_waypoints
dotyczące Podróży A zostałoby wypełnione w ten sposób:
Większość pól została pominięta ze względu na zwięzłość, ale byłyby one
jest wypełniane zgodnie z poprzednim przykładem.
[0] | journey_id = "trip_A" |
---|---|
Waypoint_type = PICKUP_WAYPOINT_TYPE | |
[1] | journey_id = "trip_B" |
Waypoint_type = PICKUP_WAYPOINT_TYPE | |
[2] | journey_id = "trip_B" |
waypoint_type = DROP_OFF_WAYPOINT_TYPE | |
[3] | journey_id = "trip_A" |
waypoint_type = DROP_OFF_WAYPOINT_TYPE |
Pole remaining_waypoint
w podróży B zostałoby wypełnione w podobny sposób, ale tylko
widoczne będą pierwsze trzy wpisy, ponieważ miejsce, do którego wraca się dla Podróży A, nie jest częścią
na trasie podróży B.