Чтобы создать транспортное средство в Fleet Engine для поездок по требованию, используйте конечную точку CreateVehicle
с CreateVehicleRequest
. Для этой конечной точки требуется учетная запись с ролью администратора Fleet Engine по требованию .
Поля для транспортных средств по требованию
При создании транспортных средств для поездок по требованию необходимо задать обязательные поля. Вы также должны быть знакомы с тем, как определенные поля транспортных средств влияют на другие функции Fleet Engine. См. раздел Обновление полей транспортных средств .
Обязательные поля для поездок по требованию
-
vehicle_state
: по умолчанию неизвестно, но должно быть установлено значение ONLINE или OFFLINE. Информацию о настройке поля состояния транспортного средства см. в разделе Обновление полей транспортного средства . -
supported_trip_types
: по умолчанию неизвестно, но должно быть установлено значение SHARED, EXCLUSIVE или оба. Подробную информацию см. в разделе «Типы поездок» в руководстве по поездкам по требованию . -
maximum_capacity
: количество пассажиров, которое может перевозить транспортное средство, исключая водителя (по определению). -
vehicle_type
: Значения:AUTO
,TAXI
,TRUCK
,TWO_WHEELER
,BICYCLE
илиPEDESTRIAN
. Может использоваться для фильтрации транспортных средств при поиске транспортных средств. Это также влияет на расчет расчетного времени прибытия и маршрута. Fleet Engine предоставляет маршруты и расчеты поездок, соответствующие способу передвижения, на основе следующих групп типов транспортных средств:-
AUTO
,TAXI
илиTRUCK
: например, шоссе. -
TWO_WHEELER
: например, не будет возвращать маршруты, где запрещено использование двухколесных транспортных средств. -
BICYCLE
: например, велосипедные дорожки. -
PEDESTRIAN
: например, мосты и тротуары, предназначенные только для пешеходов.
-
Другие поля
Другие поля, которые можно задать при создании автомобиля, см. в разделе Обновление полей автомобиля .
Пример создания автомобиля
Значение, возвращаемое функцией CreateVehicle
является созданным объектом Vehicle
.
Ява
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.
ОТДЫХ
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
См. справку по поставщикам.транспортных средств.создать .