Wenn Sie ein Fahrzeug in der Fleet Engine für Fahrten auf Abruf erstellen möchten, verwenden Sie den Endpunkt CreateVehicle
mit der CreateVehicleRequest
. Für diesen Endpunkt ist ein Konto mit der Rolle Fleet Engine On-Demand Admin erforderlich.
Felder für Fahrzeuge für Fahrten auf Abruf
Wenn Sie Fahrzeuge für Fahrten auf Abruf erstellen, müssen Sie die erforderlichen Felder festlegen. Außerdem sollten Sie wissen, wie sich bestimmte Fahrzeugfelder auf andere Funktionen in Fleet Engine auswirken. Weitere Informationen finden Sie unter Fahrzeugfelder aktualisieren.
Pflichtfelder für Fahrten auf Abruf
vehicle_state
: Standardmäßig ist „unbekannt“ festgelegt, sollte aber auf „ONLINE“ oder „OFFLINE“ gesetzt werden. Informationen zum Festlegen des Felds „Fahrzeugstatus“ finden Sie unter Fahrzeugfelder aktualisieren.supported_trip_types
: Standardmäßig ist „unbekannt“ festgelegt, sollte aber auf „SHARED“, „EXCLUSIVE“ oder beides gesetzt werden. Weitere Informationen finden Sie im Leitfaden On-Demand-Fahrten unter Fahrttypen.maximum_capacity
: Die Anzahl der Personen, die das Fahrzeug aufnehmen kann, ausgenommen der Fahrer.vehicle_type
: Zulässige Werte sindAUTO
,TAXI
,TRUCK
,TWO_WHEELER
,BICYCLE
oderPEDESTRIAN
. Kann verwendet werden, um Fahrzeuge für Fahrzeugsuchen zu filtern. Dies wirkt sich auch auf die geschätzte Ankunftszeit und die Routenberechnung aus. Fleet Engine bietet Routen und Fahrtenberechnungen, die dem Verkehrsmittel entsprechend den folgenden Fahrzeuggruppen entsprechen:AUTO
,TAXI
oderTRUCK
: z. B. Autobahnen.TWO_WHEELER
: Es werden beispielsweise keine Routen zurückgegeben, auf denen Zweiräder nicht erlaubt sind.BICYCLE
: z. B. Radwege.PEDESTRIAN
: z. B. Fußgängerbrücken und -wege.
Andere Felder
Weitere Felder, die Sie beim Erstellen eines Fahrzeugs festlegen können, finden Sie unter Fahrzeugfelder aktualisieren.
Beispiel für die Fahrzeugerstellung
Der von CreateVehicle
zurückgegebene Wert ist die erstellte Vehicle
-Entität.
Java
static final String PROJECT_ID = "project-id";
VehicleServiceBlockingStub vehicleService =
VehicleService.newBlockingStub(channel);
String parent = "providers/" + PROJECT_ID;
Vehicle vehicle = Vehicle.newBuilder()
.setVehicleState(VehicleState.OFFLINE) // Initial state
.addSupportedTripTypes(TripType.EXCLUSIVE)
.setMaximumCapacity(4)
.setVehicleType(VehicleType.newBuilder().setCategory(VehicleType.Category.AUTO))
.addAttributes(VehicleAttribute.newBuilder()
.setKey("on_trip").setValue("false")) // Opaque to the Fleet Engine
// Add .setBackToBackEnabled(true) to make this vehicle eligible for trip
// matching while even if it is on a trip. By default this is disabled.
.build();
CreateVehicleRequest createVehicleRequest =
CreateVehicleRequest.newBuilder() // no need for the header
.setParent(parent)
.setVehicleId("vid-8241890") // Vehicle ID assigned by Rideshare or Delivery Provider
.setVehicle(vehicle) // Initial state
.build();
// In this case, the Vehicle is being created in the OFFLINE state and
// no initial position is being provided. When the Driver App checks
// in with the Rideshare or Delivery Provider, the state can be set to ONLINE and
// the Driver App will update the Vehicle Location.
try {
Vehicle createdVehicle =
vehicleService.createVehicle(createVehicleRequest);
} catch (StatusRuntimeException e) {
Status s = e.getStatus();
switch (s.getCode()) {
case ALREADY_EXISTS:
break;
case PERMISSION_DENIED:
break;
}
return;
}
// If no Exception, Vehicle created successfully.
REST
curl -X POST \
"https://fleetengine.googleapis.com/v1/providers/project-id/vehicles?vehicleId=vid-8241890" \
-H "Authorization: Bearer $JWT" \
-H "Content-Type: application/json" \
--data-binary @- << EOM
{
"vehicleState": "OFFLINE",
"supportedTripTypes": ["EXCLUSIVE"],
"maximumCapacity": 4,
"vehicleType": {"category": "AUTO"},
"attributes": [{"key": "on_trip", "value": "false"}]
}
EOM
Weitere Informationen finden Sie in der Referenz providers.vehicles.create.