Ce guide vous explique comment récupérer les données de trajet directement à partir de Fleet Engine, en tant que une alternative à l'utilisation du SDK grand public. Vous pouvez utiliser cette approche de contrôler l'expérience de vos utilisateurs finaux tout en profitant de Fleet la position exacte et en temps réel des véhicules, leur heure d'arrivée prévue et leur itinéraire.
Pour en savoir plus sur l'utilisation du SDK grand public, consultez Partager des parcours à la demande trajets.
Récupérer les informations sur le trajet
Pour récupérer les informations sur le trajet directement depuis Fleet Engine, appelez la méthode GetTrip
, en spécifiant la vue JOURNEY_SHARING_V1S
. Voir la documentation de référence sur RPC ou
REST
Votre serveur interroge généralement le service de trajet pour connaître l'état de chaque trajet.
tandis que le passager suit activement la progression du véhicule. Emplacement du véhicule
les mises à jour ont généralement lieu toutes les 10 secondes. Votre système doit alors les interroger
même tarif. Vous pouvez surveiller le champ Trip.last_location.update_time
pour voir si
des mises à jour ont été apportées depuis l'appel précédent à 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);
Les champs suivants de l'objet Trip
obtenu sont renseignés avec les dernières
informations disponibles pour le trajet:
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 |
|
Récupérer les points de cheminement restants
L'entité "Trip" contient un champ répété de type TripWaypoint
. Ce champ
inclut tous les points de cheminement que le véhicule devra parcourir, dans l'ordre, avant
le dernier point de dépose de ce trajet. Le fait de spécifier la vue
de partage du parcours indique
Fleet Engine pour mettre à jour les informations dans les points de cheminement restants[0]
TripWaypoint
Dans les autres vues qui ne sont pas associées au partage de parcours, ce point de cheminement
reflètent généralement la dernière position du véhicule attribué. Consultez le
documentation de référence sur RPC ou REST.
Pour en savoir plus, consultez État du trajet et points de cheminement restants pour le véhicule dans dans le guide Présentation des trajets.
Voici un exemple de champ remaining_waypoints
pour un trajet, "Trajet A" :
| |||||||||||||||||||||
|
Pour les trajets groupés successifs et partagés, cette liste peut contenir des points de cheminement
des autres trajets à traverser avant ce trajet. Par exemple :
dans le cas où le trajet B est attribué au même véhicule que le trajet A. La
Le champ remaining_waypoints
du trajet A serait alors renseigné comme suit.
La plupart des champs ont été omis pour des raisons de concision, mais ils seraient
renseignés conformément à l'exemple précédent.
[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 |
Le champ remaining_waypoint
du trajet B serait rempli de la même manière, mais seul le
les trois premières entrées seraient présentes, car le point de dépose du trajet A ne fait pas partie
du trajet B.