In dieser Anleitung wird beschrieben, wie Sie Fahrtendaten direkt aus Fleet Engine abrufen können, anstatt das Consumer SDK zu verwenden. So haben Sie mehr Kontrolle über die Endnutzererfahrung und können trotzdem die genauen Echtzeit-Fahrzeugstandorte, voraussichtlichen Ankunftszeiten und Routen von Fleet Engine nutzen.
Weitere Informationen zur Verwendung des Consumer SDK finden Sie unter Fahrten für On-Demand-Fahrten teilen.
Reiseinformationen abrufen
Wenn Sie Reiseinformationen direkt aus Fleet Engine abrufen möchten, rufen Sie die Methode GetTrip
auf und geben Sie die Ansicht JOURNEY_SHARING_V1S
an. Weitere Informationen finden Sie in der Referenz zu RPC oder REST.
Ihr Server fragt in der Regel den Trip-Dienst nach dem Status der einzelnen Fahrten ab, während der Fahrgast den Fortschritt des Fahrzeugs aktiv beobachtet. Aktualisierungen des Fahrzeugstandorts erfolgen in der Regel alle 10 Sekunden. Ihr System sollte im selben Rhythmus abfragen. Das Feld Trip.last_location.update_time
kann überwacht werden, um festzustellen, ob seit dem vorherigen Aufruf von GetTrip
Aktualisierungen vorgenommen wurden.
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 zur 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 Abgabeort dieser Fahrt anfahren muss. Wenn Sie die Ansicht „Journey Sharing“ angeben, wird Fleet Engine angewiesen, aktualisierte Informationen in remaining_waypoints[0] TripWaypoint
einzufügen. In anderen Ansichten, in denen die Routenfreigabe nicht verwendet wird, wird mit diesem Wegpunkt in der Regel nicht die aktuelle Position des zugewiesenen Fahrzeugs angezeigt. Weitere Informationen finden Sie in der Referenzdokumentation zu RPC oder REST.
Weitere Informationen finden Sie im Leitfaden Einführung in Fahrten unter Fahrtstatus und verbleibende Wegpunkte.
Hier sehen Sie ein Beispiel für das Feld remaining_waypoints
für die Fahrt A:
| |||||||||||||||||||||
|
Bei Fahrten mit aufeinanderfolgenden Fahrten und Fahrten mit mehreren Fahrgästen kann diese Liste Wegpunkte aus anderen Fahrten enthalten, die vor dieser Fahrt angefahren werden müssen. Stellen Sie sich beispielsweise vor, dass Fahrt B demselben Fahrzeug wie Fahrt A zugewiesen wird. Das Feld remaining_waypoints
für Fahrt A würde dann so ausgefüllt:
Die meisten Felder wurden der Übersichtlichkeit halber 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.