In diesem Dokument wird beschrieben, wie Sie eine Fahrt hintereinander erstellen, die richtige und es einem Fahrzeug zuweisen, das erfüllt werden soll. Es wird davon ausgegangen, dass Sie Flotte eingerichtet haben Fahrzeuge erstellt, eine funktionierende Fahrer-App installiert, optional eine Nutzer-App. Außerdem sollten Sie mit den verschiedenen Szenarien für On-Demand-Fahrten. Weitere Informationen finden Sie in den dass:
- Fleet Engine einrichten
- Fahrzeug erstellen
- Reiseszenarien in der Übersicht zu On-Demand-Reisen
Grundlagen der Reiseplanung
In diesem Abschnitt werden die Anfragedetails beschrieben, die zum Erstellen einer Fahrt in der Fleet Engine erforderlich sind. Sie senden eine Erstellungsanfrage entweder mit gRPC oder REST.
Fahrtfelder
Verwenden Sie die folgenden Felder, um eine Fahrt in Fleet Engine zu erstellen. Sie können verschiedene für die verschiedenen Arten von Fahrten: mit einem oder mehreren Zielen, oder gemeinsame Pooling-Trips. Sie können die optionalen Felder beim Erstellen der Fahrt angeben oder sie später festlegen, wenn Sie die Fahrt aktualisieren.
Name | Erforderlich? | Beschreibung |
---|---|---|
parent | Ja | Ein String, der die Projekt-ID enthält. Diese ID muss mit der verwendeten ID übereinstimmen für die gesamte Fleet Engine-Einbindung über dasselbe Dienstkonto Rollen. |
trip_id | Ja | Ein von Ihnen erstellter String, der diese Fahrt eindeutig identifiziert. Reise-IDs haben bestimmte Einschränkungen, wie in der Referenz angegeben. |
trip_type | Ja | Legen Sie für TripType die folgenden Werte für die erstellte Fahrtart fest:
|
pickup_point | Ja | Ausgangspunkt der Fahrt. |
Ziele für Fortgeschrittene | Ja | Nur Fahrten mit mehreren Zielen: Die Liste der Zwischenziele, die der Fahrer zwischen Abhol- und Zielort besucht. Wie bei |
vehicle_waypoints | Ja | Nur Fahrten mit Mitfahrgelegenheit: In diesem Feld können die Wegpunkte mehrerer Fahrten überlappend angegeben werden.
Sie enthält alle verbleibenden Wegpunkte für das zugewiesene Fahrzeug sowie die Abhol- und Abgabeorte für diese Fahrt. Sie können dieses Feld durch Aufrufen von |
number_of_passengers | Nein | Die Anzahl der Fahrgäste auf der Fahrt. |
dropoff_point | Nein | Das Ziel der Fahrt. |
vehicle_id | Nein | Die ID des Fahrzeugs, das der Fahrt zugewiesen ist. |
Beispiel: eine direkt aufeinanderfolgende Reise erstellen
Im Folgenden wird gezeigt, wie Sie eine Fahrt mit Anschlussfahrt erstellen und einem Fahrzeug zuweisen. In diesem Szenario erfolgt die Erstellung der Fahrt wie bei einer Fahrt mit nur einem Ziel. Erst später erstellen Sie eine weitere Fahrt und weisen sie einem Fahrzeug zu, für das bereits eine Fahrt aktiv ist.
// A vehicle with ID 'my-vehicle' is already created and it is assigned to a trip with ID 'current-trip'.
static final String PROJECT_ID = "my-rideshare-co-gcp-project";
static final String VEHICLE_ID =" my-vehicle";
static final String TRIP_ID = "back-to-back-trip");
TripServiceBlockingStub tripService = TripService.newBlockingStub(channel);
String parent = "providers/" + PROJECT_ID;
Trip trip = Trip.newBuilder()
.setTripType(TripType.EXCLUSIVE)
.setPickupPoint(
TerminalLocation.newBuilder().setPoint(
LatLng.newBuilder()
.setLatitude(-6.195139).setLongitude(106.820826)))
.setDropoffPoint(
TerminalLocation.newBuilder().setPoint(
LatLng.newBuilder()
.setLatitude(-6.1275).setLongitude(106.6537)))
.setVehicleId(VEHICLE_ID)
.build();
// Create trip request
CreateTripRequest createTripRequest = CreateTripRequest.newBuilder()
.setParent(parent)
.setTripId(TRIP_ID)
.setTrip(trip)
.build();
// Error handling.
try {
// Fleet Engine automatically assigns a 'waypoints' list to the trip containing
// the vehicle's current trip waypoints.
Trip createdTrip =
tripService.createTrip(createTripRequest);
} catch (StatusRuntimeException e) {
Status s = e.getStatus();
switch (s.getCode()) {
case ALREADY_EXISTS:
break;
case PERMISSION_DENIED:
break;
}
return;
}
Fahrten direkt hintereinander aktualisieren
Wenn Sie ein Fahrzeug einer direkt aufeinanderfolgenden Fahrt zuweisen, auch wenn bereits ein Fahrzeug zugewiesen wurde.
Jede in Fleet Engine erstellte Fahrt muss einem Fahrzeug zugewiesen sein, Fleet Engine, um die voraussichtlichen Ankunftszeiten für Fahrten zu berechnen und zu verfolgen. Sie können dies während der oder später, wenn Sie die Fahrt aktualisieren.
Nachdem Sie die Fahrt einem Fahrzeug zugewiesen haben, fügt Fleet Engine automatisch
Wegpunkte, die den aufeinanderfolgenden Fahrten zu den Wegpunkten des Fahrzeugs zugeordnet sind
ein. Das Feld remainingWaypoints
einer Fahrt enthält eine Liste aller
Wegpunkte, einschließlich derer von anderen Fahrten, die vor dem
den Ausstieg der Fahrt.
Beispiel: Fahrt A und Fahrt B. Das Fahrzeug hat den Kunden abgeholt. für Fahrt A und auf dem Weg zum Ziel erhält der Fahrer eine Anfrage, einen anderen Nutzer Nächste Fahrt: Reise B.
- Der Aufruf von
getVehicle()
gibtremainingWaypoints
zurück Enthält:
Einen Abbruch → B Abholung → B Abbruch. - Entweder
getTrip()
oder deronTripRemainingWaypointsUpdated
-Callback für Fahrt A gibtremainingWaypoints
zurück Enthält:
Ein Abbruch. - Entweder
getTrip()
oder deronTripRemainingWaypointsUpdated
-Callback für Fahrt B gibtremainingWaypoints
zurück enthalten:
Ein Abbruch → B Abholung → und B Abbruch.