Questa guida mostra come recuperare i dati di viaggio direttamente da Fleet Engine, come un'alternativa all'utilizzo dell'SDK consumer. Puoi utilizzare questo approccio per avere sull'esperienza dell'utente finale, sfruttando al contempo il parco risorse La posizione del veicolo, l'orario di arrivo stimato e i percorsi precisi e in tempo reale del motore.
Per maggiori dettagli sull'utilizzo dell'SDK consumer, consulta Condividere i percorsi per i contenuti on demand per i viaggi.
Recuperare informazioni sulla corsa
Per recuperare informazioni sulla corsa direttamente da Fleet Engine, chiama il GetTrip
che specifica la vista JOURNEY_SHARING_V1S
. Vedi riferimento per RPC
REST.
In genere il server interroga il servizio di corsa per conoscere lo stato di ogni corsa.
mentre il passeggero monitora attivamente i progressi del veicolo. Posizione del veicolo
in genere gli aggiornamenti vengono eseguiti ogni 10 secondi e il sistema dovrebbe eseguire il
la stessa tariffa. Il campo Trip.last_location.update_time
può essere monitorato per verificare se
sono stati apportati aggiornamenti dalla precedente chiamata a GetTrip
.
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);
L'oggetto Trip
risultante ha i seguenti campi compilati con i
informazioni disponibili per la corsa:
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 |
|
Recupera le tappe di viaggio rimanenti
L'entità Trip contiene un campo ripetuto di tipo TripWaypoint
.
include tutte le tappe che il veicolo dovrà percorrere, in ordine, prima
l'ultimo punto di partenza di questa corsa. Se specifichi la vista di condivisione del percorso,
Fleet Engine per inserire informazioni aggiornate nei restanti_waypoint[0]
TripWaypoint
. In altre viste diverse dalla condivisione del percorso, tale tappa non
di solito riflettono la posizione più recente del veicolo assegnato. Consulta le
per RPC o REST.
Per ulteriori informazioni, consulta Stato della corsa e tappe rimanenti del veicolo in la guida Introduzione ai viaggi.
Ecco un esempio del campo remaining_waypoints
per una corsa, Percorso A:
| |||||||||||||||||||||
|
Con corse consecutive e di raggruppamento condivise, questo elenco può contenere tappe
da altri viaggi da percorrere prima di questo viaggio. Ad esempio, considera
lo scenario in cui la corsa B è assegnata allo stesso veicolo della corsa A. La
Il campo remaining_waypoints
per il percorso A verrà quindi compilato come segue.
La maggior parte dei campi è stata omessa per motivi di concisione, ma sarebbe
compilate in modo coerente con l'esempio precedente.
[0] | trip_id = "trip_A" |
---|---|
waypoint_type = PICKUP_WAYPOINT_TYPE | |
[1] | trip_id = "trip_B" |
waypoint_type = PICKUP_WAYPOINT_TYPE | |
[2] | trip_id = "trip_B" |
waypoint_type = DROP_OFF_WAYPOINT_TYPE | |
[3] | trip_id = "trip_A" |
waypoint_type = DROP_OFF_WAYPOINT_TYPE |
Il campo remaining_waypoint
della corsa B verrebbe compilato in modo simile, ma solo
le prime tre voci saranno presenti, poiché il punto di partenza del viaggio A non fa parte
del percorso del Viaggio B.