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 Du hast Fahrzeuge erstellt, eine funktionierende Fahrer-App und 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 Fleet Engine Sie senden eine Anfrage zur Erstellung mit gRPC und 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. Ich können beim Erstellen der Fahrt die optionalen Felder ausfüllen oder 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:
<ph type="x-smartling-placeholder">
|
pickup_point | Ja | Ausgangspunkt der Fahrt. |
Ziele für Fortgeschrittene | Ja | Nur Fahrten mit mehreren Zielen: Die Liste der Zwischenziele, die der Fahrer dazwischen besucht.
Abholung und Abgabe. Wie bei |
vehicle_waypoints | Ja | Nur gemeinsam genutzte Pooling-Fahrten: In diesem Feld können die Wegpunkte mehrerer Fahrten verschränkt werden.
Es enthält alle verbleibenden Wegpunkte für das zugewiesene Fahrzeug sowie
als Start- und Zielort für diese Fahrt angeben. Sie können dieses Feld
durch Aufrufen von |
number_of_passengers | Nein | Die Anzahl der Fahrgäste für die Fahrt. |
dropoff_point | Nein | Das Ziel der Reise. |
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 aufeinanderfolgende Fahrt erstellen und einer Fahrzeug. In diesem Szenario entspricht die Fahrterstellung der Erstellung eines einzelnen Ziels. Fahrt. Erst später erstellen Sie eine neue Fahrt und weisen sie einem Fahrzeug zu. mit einer bereits aktiven Fahrt.
// 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.