In diesem Leitfaden erfahren Sie, wie Sie Fahrtdaten direkt aus der Fleet Engine abrufen, anstatt das Consumer SDK zu verwenden. So haben Sie mehr Kontrolle über die Nutzererfahrung und können trotzdem die genauen Echtzeitdaten zu Fahrzeugstandort, voraussichtlicher Ankunftszeit und Routen von Fleet Engine nutzen.
Weitere Informationen zur Verwendung des Consumer SDK finden Sie unter Fahrten auf Abruf teilen.
Reiseinformationen abrufen
Wenn Sie Fahrtinformationen direkt aus Fleet Engine abrufen möchten, rufen Sie die Methode GetTrip auf und geben Sie die Ansicht JOURNEY_SHARING_V1S an. Siehe Referenz für RPC oder REST.
Ihr Server fragt in der Regel den Status jeder Fahrt beim Trip-Dienst ab, während der Fahrgast den Fortschritt des Fahrzeugs aktiv beobachtet. Aktualisierungen des Fahrzeugstandorts erfolgen in der Regel alle 10 Sekunden. Ihr System sollte in diesem Rhythmus abfragen. Anhand des Felds Trip.last_location.update_time können Sie prüfen, ob es seit dem vorherigen Aufruf von GetTrip Aktualisierungen gegeben hat.
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 die folgenden Felder mit den neuesten verfügbaren 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 der Fahrt abrufen
Die Trip-Entität enthält ein wiederholtes Feld vom Typ TripWaypoint. Dieses Feld enthält alle Wegpunkte, die das Fahrzeug in der richtigen Reihenfolge vor dem endgültigen Zielort dieser Fahrt anfahren muss. Wenn Sie die Ansicht „Fahrt teilen“ angeben, wird die Fleet Engine angewiesen, aktualisierte Informationen in „remaining_waypoints[0]“ (TripWaypoint) zu platzieren. In anderen Ansichten, die nicht für die gemeinsame Nutzung von Fahrten vorgesehen sind, spiegelt dieser Wegpunkt normalerweise nicht die aktuelle Position des zugewiesenen Fahrzeugs wider. Weitere Informationen finden Sie in der Referenz für RPC oder REST.
Weitere Informationen finden Sie im Leitfaden Einführung in Fahrten unter Fahrtstatus und verbleibende Fahrzeugwegpunkte.
Hier ist ein Beispiel für das Feld remaining_waypoints für eine Fahrt, Fahrt A:
| |||||||||||||||||||||
| |||||||||||||||||||||
Bei Fahrten mit aufeinanderfolgenden Fahrten und Fahrten mit Fahrgemeinschaften kann diese Liste Wegpunkte aus anderen Fahrten enthalten, die vor dieser Fahrt angefahren werden müssen. Nehmen wir beispielsweise an, Fahrt B ist demselben Fahrzeug wie Fahrt A zugewiesen. Das Feld remaining_waypoints für Fahrt A würde dann so ausgefüllt:
Die meisten Felder wurden aus Gründen der Übersichtlichkeit weggelassen, sie würden aber wie im vorherigen Beispiel ausgefüllt.
| [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 würde ähnlich ausgefüllt werden, aber nur die ersten drei Einträge wären vorhanden, da der Abgabeort von Fahrt A nicht Teil der Route von Fahrt B ist.