Fahrtdaten direkt von Fleet Engine abrufen

In diesem Leitfaden erfahren Sie, wie Sie Fahrtdaten direkt aus Fleet Engine abrufen. als das Consumer SDK. Sie können diesen Ansatz für mehr Kontrolle über die Endnutzererfahrung und gleichzeitig die Vorteile von Flotten Genauer Standort des Fahrzeugs in Echtzeit, voraussichtliche Ankunftszeit und Routenplanung.

Details zur Verwendung des Consumer SDK finden Sie unter Share Journeys on demand Reisen.

Fahrtinformationen abrufen

Rufen Sie die GetTrip auf, um Fahrtinformationen direkt von Fleet Engine abzurufen. zur Angabe der Ansicht JOURNEY_SHARING_V1S. Siehe Referenz zu RPC oder REST:

Der Server fragt normalerweise den Status der einzelnen Fahrten beim Fahrtdienst ab. während der Fahrgast aktiv den Fahrzeugfortschritt beobachtet. Fahrzeugstandort Updates in der Regel alle 10 Sekunden. Das System sollte dann die gleiche Rate. Im Feld Trip.last_location.update_time kann geprüft werden, ob Es gab Aktualisierungen seit dem vorherigen Aufruf von 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);

Das resultierende Trip-Objekt enthält in den folgenden Feldern die neuesten verfügbare Informationen für die Fahrt:

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

Verbleibende Wegpunkte abrufen

Die Entität "Trip" enthält ein wiederkehrendes Feld vom Typ TripWaypoint. Dieses Feld enthält alle Wegpunkte, die das Fahrzeug in der angegebenen Reihenfolge zurücklegen muss, bevor den letzten Ausstiegspunkt dieser Fahrt. Wenn Sie die Ansicht „Teilen von Reisen“ festlegen, Fleet Engine, um aktualisierte Informationen in die verbleibenden_waypoints[0] einzufügen TripWaypoint In anderen Ansichten, bei denen es sich nicht um eine Journey Sharing-Ansicht handelt, in der Regel die letzte Position des zugewiesenen Fahrzeugs. Weitere Informationen finden Sie in der Referenz für RPC oder REST

Weitere Informationen finden Sie unter Reisestatus und verbleibende Fahrzeug-Wegpunkte in finden Sie im Leitfaden Einführung in Fahrten.

Hier sehen Sie ein Beispiel für das Feld remaining_waypoints für eine Fahrt (Fahrt A):

[0] location.point = trip.pickup_point.point
trip_id = "trip_A"
waypoint_type = PICKUP_WAYPOINT_TYPE
path_to_waypoint = LatLng[] 1. LatLng vom verbleibenden Weg zur Abholung
2. LatLng vom verbleibenden Weg zur Abholung
Letzte LatLng vom verbleibenden Weg bis zur Abholung
pickup_point (Abholpunkt), falls abweichend vom letzten
traffic_data
remove_meters = Entfernung von der aktuellen „vehicle_location“ entlang von path_to_waypoint bis zur Abholung
eta = aktualisierte ETA
Dauer = aktualisierte Dauer
[1] location.point = trip.dropoff_point.point
trip_id = "trip_A"
waypoint_type = DROP_OFF_WAYPOINT_TYPE
path_to_waypoint = LatLng[] 1. LatLng von Drop-off-Strecke
2. LatLng von Absetzstrecke
Letzte LatLng von Streckenabschnitt
dropoff_point, falls abweichend vom letzten Wert
traffic_data
length_meters = Entfernung von der Abholstelle entlang von path_to_waypoint bis zur Abgabe
eta = aktualisierte ETA
Dauer = Streckenlänge der Ausstiegsstrecke

Bei direkt aufeinanderfolgenden und gemeinsamen Pooling-Fahrten kann diese Liste Wegpunkte enthalten von anderen Fahrten, die vor dieser Fahrt durchlaufen werden sollen. Stellen Sie sich zum Beispiel vor, Szenario, bei dem Fahrt B demselben Fahrzeug zugewiesen ist wie Fahrt A. Die Für Fahrt A wird dann das Feld remaining_waypoints so ausgefüllt. Die meisten Felder wurden der Übersichtlichkeit halber weggelassen, würden aber die mit dem vorherigen Beispiel übereinstimmt.

[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

Das Feld remaining_waypoint für Fahrt B wird ähnlich ausgefüllt, aber nur die ersten drei Einträge vorhanden sind, da die Ausstiegsstelle von Fahrt A nicht zu den der Route von Fahrt B.