In diesem Dokument wird beschrieben, wie Sie eine Fahrt mit einem einzelnen Ziel erstellen, die richtigen Felder festlegen und sie einem Fahrzeug zuweisen, um sie auszuführen. Es wird davon ausgegangen, dass Sie die Fleet Engine eingerichtet, Fahrzeuge erstellt, eine funktionierende Fahrer-App und optional eine Verbraucher-App haben. Weitere Informationen finden Sie in den folgenden Anleitungen:
Grundlagen der Reiseerstellung
In diesem Abschnitt werden die Anfragedetails beschrieben, die zum Erstellen einer Fahrt in Fleet Engine erforderlich sind. Sie stellen eine Erstellungsanfrage entweder über gRPC oder REST.
Fahrtenfelder
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, aufeinanderfolgende Fahrten oder Fahrten mit mehreren Fahrgästen. Sie können die optionalen Felder beim Erstellen der Fahrt angeben oder 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 Ihrer gesamten Fleet Engine-Integration mit denselben Dienstkontorollen verwendet wird. |
| 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 den von Ihnen erstellten Reisetyp fest:
|
| pickup_point | Ja | Der Startpunkt der Fahrt. |
| Zwischenziele | Ja | Nur Fahrten mit mehreren Zielen: Die Liste der Zwischenziele, die der Fahrer zwischen Abholung und Absetzen anfährt. Wie bei |
| vehicle_waypoints | Ja | Nur Fahrten mit mehreren Fahrgästen: Dieses Feld unterstützt das Verschachteln der Wegpunkte mehrerer Fahrten.
Sie enthält alle verbleibenden Wegpunkte für das zugewiesene Fahrzeug sowie die Wegpunkte für die Abholung und den Ausstieg 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 Reise. |
| vehicle_id | Nein | Die ID des Fahrzeugs, das der Fahrt zugewiesen ist. |
Beispiel: Reise mit einem Ziel
Im folgenden Beispiel wird gezeigt, wie Sie eine Fahrt 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. Die Beispiele zeigen ein Google Cloud-Projekt mit der Projekt-ID my-rideshare-co-gcp-project. Dieses Projekt muss auch ein Dienstkonto enthalten, um die 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;
}