In diesem Dokument wird beschrieben, wie Sie eine Fahrt mit einem einzelnen Ziel erstellen, die richtigen Felder festlegen und sie einem Fahrzeug zuweisen. Dabei wird davon ausgegangen, dass Sie Fleet Engine eingerichtet und Fahrzeuge erstellt sowie eine funktionierende Treiber- und optional eine Nutzer-App haben. Weitere Informationen dazu finden Sie in den folgenden zugehörigen Anleitungen:
Grundlagen zur Erstellung von Reisen
In diesem Abschnitt werden die Anfragedetails beschrieben, die zum Erstellen einer Fahrt in Flleet Engine erforderlich sind. 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 für die verschiedenen Arten von Fahrten unterschiedliche Felder verwenden: Fahrten mit einem oder mehreren Zielen, Fahrten mit mehreren Zielen oder Fahrten mit gemeinsamen Pools. 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 mit der ID übereinstimmen, die in der gesamten Fleet Engine-Integration verwendet wird, mit denselben Dienstkontorollen. |
trip_id | Ja | Ein von Ihnen erstellter String, der diese Fahrt eindeutig identifiziert. Für Fahrt-IDs gelten bestimmte Einschränkungen, die in der Referenz angegeben sind. |
trip_type | Ja | Legen Sie für TripType die folgenden Werte für die erstellte Fahrtart fest:
|
pickup_point | Ja | Ausgangspunkt der Fahrt. |
Zwischenziele | Ja | Nur Fahrten mit mehreren Zielen: Die Liste der Zwischenziele, die der Fahrer zwischen Start- und Zielpunkt 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 für die 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 Reise zur Grand Indonesia East Mall erstellen. Die Fahrt umfasst zwei Fahrgäste, ist exklusiv und hat den Status 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
gezeigt. Dieses Projekt muss auch ein Dienstkonto enthalten, um Fleet Engine aufzurufen. 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;
}