주문형 이동을 위해 Fleet Engine에서 차량을 만들려면 CreateVehicleRequest
와 함께 CreateVehicle
엔드포인트를 사용하세요. 이 엔드포인트에는 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.
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
providers.vehicles.create 참조를 참고하세요.