Récupérer les données de trajet directement depuis Fleet Engine

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" :

[0]. location.point = trip.pickup_point.point
trip_id = "trip_A"
waypoint_type = PICKUP_WAYPOINT_TYPE
path_to_waypoint = LatLng[] 1re LatLng depuis le chemin restant jusqu'à la prise en charge
2e LatLng depuis le chemin restant jusqu'à la prise en charge
dernier LatLng du chemin restant jusqu'au retrait
pickup_point (point de retrait) s'il est différent du dernier
traffic_data
distance_meters = distance entre la position actuelle du véhicule via path_to_waypoint et la prise en charge
eta = heure d'arrivée prévue mise à jour
durée = durée mise à jour
[1] location.point = trip.dropoff_point.point
trip_id = "trip_A"
Waypoint_type = DROP_OFF_WAYPOINT_TYPE
path_to_waypoint = LatLng[] 1re LatLng depuis l'étape de dépôt
2e LatLng depuis l'étape de dépôt
dernière valeur LatLng du trajet de dépôt
dropoff_point (point de dépôt), s'il est différent du dernier
traffic_data
distance_meters = distance entre la prise en charge sur path_to_waypoint et le lieu de dépose
eta = heure d'arrivée prévue mise à jour
durée = durée de l'itinéraire de dépose

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.