온디맨드 이동을 위해 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: 예를 들어 2륜차가 허용되지 않는 경로는 반환하지 않습니다.BICYCLE: 예를 들어 자전거 도로입니다.PEDESTRIAN: 예를 들어 보행자 전용 다리 및 산책로입니다.
기타 필드
차량을 만들 때 설정할 수 있는 다른 필드는 차량 필드 업데이트를 참고하세요.
차량 생성 예
차량을 만들려면 Java gRPC 라이브러리 또는 REST를 사용하면 됩니다. 지원되는 전체 언어 목록은 온디맨드 이동 서비스의 클라이언트 라이브러리를 참고하세요.
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"}]
}
EOMproviders.vehicles.create 참조를 확인하세요.