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ą Fleet Engine On-demand Admin.
Pola dotyczące pojazdów do przewozu osób na żądanie
Podczas tworzenia pojazdów na potrzeby przejazdów na żądanie musisz ustawić wymagane pola. Ty wie też, jak niektóre pola dotyczące pojazdów wpływają na inne we Fleet Engine. Więcej informacji znajdziesz w artykule Aktualizowanie pól pojazdu.
Pola wymagane w przypadku przejazdów na żądanie
vehicle_state
: domyślnie ustawiona wartość to „nieznana”, ale powinna być ustawiona na „ONLINE” (ONLINE) lub „OFFLINE” (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. Szczegółowe informacje znajdziesz w sekcji Typy podróży w przewodniku 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 w wyszukiwaniach pojazdów. Ma to również wpływ na obliczenia czasu dojazdu i 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
: np. nie zwraca tras, na których nie są dozwolone pojazdy dwukołowe.BICYCLE
: na przykład ścieżki rowerowe.PEDESTRIAN
: np. mosty i chodniki tylko dla pieszych.
Inne pola
Inne pola, które możesz ustawić podczas tworzenia pojazdu, znajdziesz w artykule Aktualizowanie pól 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 odwołanie providers.vehicles.create.