Este guia mostra como recuperar dados de viagem diretamente do Fleet Engine, como um alternativa ao uso do SDK do consumidor. Essa abordagem pode ser usada controle sobre a experiência do usuário final e, ao mesmo tempo, aproveitar os recursos da frota Localização precisa e em tempo real do veículo, HEC e trajeto.
Para mais detalhes sobre como usar o SDK Consumer, consulte Compartilhar jornadas sob demanda viagens.
Recuperar informações da viagem
Para recuperar informações de viagem diretamente do Fleet Engine, chame o método GetTrip
especificando a visualização JOURNEY_SHARING_V1S
. Consulte a referência para RPC ou
REST (link em inglês).
O servidor normalmente consulta o serviço de viagem para saber o status de cada viagem.
enquanto o passageiro monitora ativamente o progresso do veículo. Localização do veículo
as atualizações geralmente ocorrem a cada 10 segundos, e o sistema
na mesma taxa. O campo Trip.last_location.update_time
pode ser monitorado para ver se
houve atualizações desde a chamada anterior para 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);
O objeto Trip
resultante tem os seguintes campos preenchidos com os valores mais recentes
informações disponíveis para a viagem:
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 |
|
Recuperar waypoints da viagem restantes
A entidade Trip contém um campo repetido do tipo TripWaypoint
Este campo
inclui todos os waypoints que o veículo precisará percorrer, em ordem, antes
ponto de desembarque final dessa viagem. Especificar a visualização "Compartilhamento de jornada" informa
O Fleet Engine para colocar as informações atualizadas em restante_de_waypoints[0]
TripWaypoint
: Em outras visualizações que não sejam de compartilhamento da jornada, esse waypoint não
geralmente mostra a posição mais recente do veículo atribuído. Consulte a
referência para RPC ou REST.
Para mais informações, consulte Status da viagem e waypoints restantes do veículo em guia Introdução a viagens.
Veja um exemplo do campo remaining_waypoints
para uma viagem, "Viagem A":
| |||||||||||||||||||||
|
Com viagens em pooling e compartilhadas, esta lista pode conter waypoints
de outras viagens a serem percorridas antes desta. Por exemplo, considere
o cenário em que a Viagem B é atribuída ao mesmo veículo que a Viagem A. A
O campo remaining_waypoints
da viagem A seria preenchido da seguinte forma.
A maioria dos campos foi omitida para fins de concisão, mas seria
preenchida de forma consistente com o exemplo anterior.
[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 |
O campo remaining_waypoint
da viagem B seria preenchido de forma semelhante, mas apenas o
as três primeiras entradas estariam presentes, uma vez que o ponto de desembarque da Viagem A não faz parte
do trajeto da Viagem B.