In diesem Dokument wird beschrieben, wie Sie eine Fahrt mit einem Ziel erstellen, die richtigen Felder festlegen und sie einem Fahrzeug zuweisen, um sie auszuführen. Dabei wird davon ausgegangen, dass Sie Fleet Engine eingerichtet und Fahrzeuge erstellt haben, eine funktionierende Fahrer-App und optional eine Kunden-App haben. Weitere Informationen finden Sie in den folgenden Leitfäden:
Grundlagen der Fahrtenerstellung
In diesem Abschnitt werden die Details der Anfrage beschrieben, die zum Erstellen einer Fahrt in 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 Felder für die verschiedenen Arten von Fahrten verwenden: Fahrten mit einem oder mehreren Zielen, Fahrten direkt hintereinander oder Fahrten mit Mitfahrgelegenheiten. Sie können die optionalen Felder beim Erstellen der Fahrt angeben oder sie später beim Aktualisieren der Fahrt festlegen.
| Name | Erforderlich? | Beschreibung |
|---|---|---|
| parent | Ja | Ein String, der die Projekt-ID enthält. Diese ID muss in der gesamten Fleet Engine-Integration mit denselben Dienstkontorollen verwendet werden. |
| trip_id | Ja | Ein String, den Sie erstellen und der diese Fahrt eindeutig identifiziert. Für Fahrt-IDs gelten bestimmte Einschränkungen, wie in der Referenz angegeben. |
| trip_type | Ja | Legen Sie für TripType die folgenden Werte für den Fahrtentyp fest, den Sie erstellen:
|
| pickup_point | Ja | Der Ausgangspunkt der Fahrt. |
| Zwischenziele | Ja | Nur Fahrten mit mehreren Zielen: Die Liste der Zwischenziele, die der Fahrer zwischen
Abholung und Abgabe anfährt. Wie bei |
| vehicle_waypoints | Ja | Nur Fahrten mit Mitfahrgelegenheiten: Dieses Feld unterstützt das Verschachteln der Wegpunkte aus mehreren Fahrten.
Es enthält alle verbleibenden Wegpunkte für das zugewiesene Fahrzeug sowie
die Wegpunkte für Abholung und Abgabe für diese Fahrt. Sie können dieses Feld
festlegen, indem Sie |
| 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: Fahrt mit einem Ziel
Das folgende Beispiel zeigt, wie Sie eine Fahrt zur Grand Indonesia East Mall erstellen. An der Fahrt nehmen zwei Fahrgäste teil, sie ist exklusiv und ihr Status ist NEW. Die provider_id der Fahrt muss mit der Google Cloud-Projekt-ID übereinstimmen. In den Beispielen wird ein Google Cloud-Projekt mit der Projekt-ID my-rideshare-co-gcp-project verwendet. Dieses Projekt muss auch ein Dienstkonto enthalten, um Fleet Engine aufrufen zu können. Weitere Informationen finden Sie unter Dienstkontorollen.
static final String PROJECT_ID = "my-rideshare-co-gcp-project";
TripServiceBlockingStub tripService = TripService.newBlockingStub(channel);
// Trip initial settings.
String parent = "providers/" + PROJECT_ID;
Trip trip = Trip.newBuilder()
.setTripType(TripType.EXCLUSIVE) // Use TripType.SHARED for carpooling.
.setPickupPoint( // Grand Indonesia East Mall.
TerminalLocation.newBuilder().setPoint(
LatLng.newBuilder()
.setLatitude(-6.195139).setLongitude(106.820826)))
.setNumberOfPassengers(2)
// Provide the drop-off point if available.
.setDropoffPoint(
TerminalLocation.newBuilder().setPoint(
LatLng.newBuilder()
.setLatitude(-6.1275).setLongitude(106.6537)))
.build();
// Create trip request
CreateTripRequest createTripRequest = CreateTripRequest.newBuilder()
.setParent(parent)
.setTripId("trip-8241890") // Trip ID assigned by the provider.
.setTrip(trip) // The initial state is NEW.
.build();
// Error handling.
try {
Trip createdTrip = tripService.createTrip(createTripRequest);
} catch (StatusRuntimeException e) {
Status s = e.getStatus();
switch (s.getCode()) {
case ALREADY_EXISTS:
break;
case PERMISSION_DENIED:
break;
}
return;
}