In diesem Dokument wird beschrieben, wie Sie eine Fahrt mit einem Zielort erstellen, die richtigen Felder festlegen und sie einem Fahrzeug zur Ausführung zuweisen. Dabei wird davon ausgegangen, dass Sie Fleet Engine eingerichtet und Fahrzeuge erstellt haben, eine funktionierende Fahrer-App und optional eine Verbraucher-App haben. Weitere Informationen finden Sie in den folgenden zugehörigen Anleitungen:
Grundlagen der Reiseplanung
In diesem Abschnitt werden die für das Erstellen einer Fahrt in Fleet Engine erforderlichen Anfragedetails beschrieben. Sie senden eine Erstellungsanfrage entweder über gRPC oder REST.
Felder für Fahrten
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, aufeinanderfolgende Fahrten oder Fahrten mit Sammelpunkten. 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 Ihrer 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, die in der Referenz angegeben sind. |
trip_type | Ja | Legen Sie TripType auf die folgenden Werte für den zu erstellenden Reisetyp fest:
|
pickup_point | Ja | Der Ausgangspunkt der Reise. |
Zwischenziele | Ja | Nur Fahrten mit mehreren Zielen: Die Liste der Zwischenziele, die der Fahrer zwischen Abhol- und Zielort anfährt. Wie bei |
vehicle_waypoints | Ja | Nur Fahrten mit gemeinsamer Nutzung: In diesem Feld können die Wegpunkte mehrerer Fahrten verschachtelt werden.
Sie enthält alle verbleibenden Wegpunkte für das zugewiesene Fahrzeug sowie die Abhol- und Absetzwegpunkte für diese Fahrt. Sie können dieses Feld festlegen, indem Sie |
number_of_passengers | Nein | Die Anzahl der Passagiere auf der Reise. |
dropoff_point | Nein | Das Ziel der Reise. |
vehicle_id | Nein | Die ID des Fahrzeugs, das der Fahrt zugewiesen ist. |
Beispiel: Reise mit einem Zielort
Das folgende Beispiel zeigt, wie Sie eine Fahrt zur Grand Indonesia East Mall erstellen. Die Fahrt umfasst zwei Fahrgäste, 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
gezeigt. Dieses Projekt muss auch ein Dienstkonto enthalten, um Fleet Engine aufzurufen. Weitere Informationen finden Sie unter Dienstkontenrollen.
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;
}