Aby utworzyć pojazd we Fleet Engine do podróży na żądanie, skorzystaj z CreateVehicle
za pomocą punktu końcowego CreateVehicleRequest
. Ten punkt końcowy wymaga konta z
rolę Administratora usługi Fleet Engine na żądanie.
Pola dla pojazdów do podróży na żądanie
Podczas tworzenia pojazdów do podróży na żądanie musisz ustawić wymagane pola. Ty wie też, jak niektóre pola dotyczące pojazdów wpływają na inne we Fleet Engine. Odpowiednie informacje znajdziesz w artykule Aktualizowanie pól dotyczących pojazdów.
Pola wymagane w przypadku podróży na żądanie
vehicle_state
: wartość domyślna to „nieznana”, ale powinna być ustawiona na ONLINE lub OFFLINE. Informacje o ustawianiu pola stanu pojazdu znajdziesz w sekcji Aktualizacja .supported_trip_types
: wartość domyślna to „nieznana”, a powinna być ustawiona na WSPÓLNY, WYJĄTKOWY lub jedno i drugi. Zobacz typy podróży w sekcji Podróże na żądanie. .maximum_capacity
: liczba pasażerów, którzy mogą pomieścić pojazd, który nie obejmuje kierowcy (z definicji).vehicle_type
: wartości toAUTO
,TAXI
,TRUCK
,TWO_WHEELER
,BICYCLE
lubPEDESTRIAN
. Może służyć do filtrowania pojazdów wyszukiwania. Wpływa to też na szacowany czas dotarcia na miejsce i obliczanie trasy. Fleet Engine podaje trasy i obliczenia związane ze środkami transportu, dla następujących grup typów pojazdów:AUTO
,TAXI
lubTRUCK
: na przykład autostrady.TWO_WHEELER
: na przykład nie zwróci tras, dla których nie są dostępne jest dozwolona.BICYCLE
: np. ścieżki rowerowe.PEDESTRIAN
: np. mosty i chodniki tylko dla pieszych.
Inne pola
Inne pola, które można skonfigurować podczas tworzenia pojazdu, znajdziesz w sekcji Aktualizowanie pojazdu .
Przykład produkcji pojazdu
Wartość zwrócona z metody CreateVehicle
to utworzony element Vehicle
.
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
Zobacz dokumentację providers.vehicles.create.