In dieser Anleitung erfahren Sie, wie Sie Fahrtdaten direkt aus Fleet Engine abrufen können, anstatt das Consumer SDK zu verwenden. Mit diesem Ansatz können Sie die Nutzerfreundlichkeit verbessern und gleichzeitig die genaue und Echtzeit-Fahrzeugposition, die geschätzte Ankunftszeit und die Routen von Fleet Engine nutzen.
Weitere Informationen zur Verwendung des Consumer SDK finden Sie unter Fahrten für On-Demand-Fahrten teilen.
Fahrtinformationen abrufen
Wenn Sie Fahrtinformationen direkt aus der 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.
Normalerweise fragt Ihr Server den Fahrtdienst nach dem Status jeder Fahrt ab, während der Fahrgast den Fortschritt des Fahrzeugs aktiv beobachtet. Aktualisierungen der Fahrzeugposition erfolgen in der Regel alle 10 Sekunden und Ihr System sollte mit derselben Rate abfragen. Im Feld Trip.last_location.update_time
kann geprüft werden, ob seit dem letzten Aufruf von GetTrip
Updates verfügbar sind.
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 Fahrtenentität enthält ein wiederholtes Feld vom Typ TripWaypoint
. Dieses Feld enthält alle Wegpunkte, die das Fahrzeug in der richtigen Reihenfolge anfahren muss, bevor es den letzten Zielort dieser Fahrt erreicht. Wenn Sie die Ansicht für die Fahrtfreigabe angeben, wird die Fleet Engine angewiesen, aktualisierte Informationen in die remaining_waypoints[0]TripWaypoint
einzugeben. In anderen Ansichten, die nicht für die Freigabe von Fahrten gedacht sind, entspricht dieser Wegpunkt in der Regel nicht der aktuellen Position des zugewiesenen Fahrzeugs. Weitere Informationen finden Sie in der RPC- oder REST-Referenz.
Weitere Informationen finden Sie im Leitfaden Einführung in Fahrten unter Fahrtstatus und verbleibende Fahrzeug-Wegpunkte.
Hier ein Beispiel für das Feld remaining_waypoints
für eine Fahrt, Fahrt A:
| |||||||||||||||||||||
|
Bei aufeinanderfolgenden Fahrten und Fahrten mit geteiltem Pool können diese Liste Wegpunkte aus anderen Fahrten enthalten, die vor dieser Fahrt zurückgelegt werden müssen. Angenommen, 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
von Fahrt B wird auf ähnliche Weise ausgefüllt, aber nur die ersten drei Einträge sind vorhanden, da der Abholpunkt von Fahrt A nicht Teil der Route von Fahrt B ist.