หากต้องการสร้างยานพาหนะใน Fleet Engine สำหรับการเดินทางแบบออนดีมานด์ ให้ใช้ CreateVehicle
ด้วย CreateVehicleRequest
ปลายทางนี้ต้องใช้บัญชีที่มี
บทบาทผู้ดูแลระบบแบบออนดีมานด์ของ Fleet Engine
ช่องสำหรับยานพาหนะแบบออนดีมานด์
เมื่อสร้างยานพาหนะสำหรับการเดินทางตามคำขอ คุณต้องตั้งค่าช่องที่ต้องกรอก คุณ ควรศึกษาผลกระทบจากฟิลด์ยานพาหนะบางฟิลด์ ใน Fleet Engine ดูข้อมูลได้ที่อัปเดตข้อมูลยานพาหนะ
ช่องที่ต้องกรอกสำหรับการเดินทางแบบออนดีมานด์
vehicle_state
: ค่าเริ่มต้นเป็น "ไม่รู้จัก" แต่ควรตั้งค่าเป็น "ออนไลน์" หรือ ออฟไลน์ ดูข้อมูลเกี่ยวกับการตั้งค่าฟิลด์สถานะของยานพาหนะในอัปเดต สนามยานพาหนะsupported_trip_types
: ค่าเริ่มต้นเป็นไม่รู้จัก แต่ควรตั้งค่าเป็น แชร์ เฉพาะตัว หรือทั้งคู่ ดูประเภทการเดินทางในการเดินทางแบบออนดีมานด์ เพื่อดูรายละเอียดmaximum_capacity
: จำนวนผู้โดยสารที่รถบรรทุกได้ ซึ่งจะไม่รวมคนขับ (ตามคำจำกัดความ)vehicle_type
: ค่าต่างๆ ได้แก่AUTO
,TAXI
,TRUCK
,TWO_WHEELER
BICYCLE
หรือPEDESTRIAN
ใช้เพื่อกรองยานพาหนะสำหรับยานพาหนะได้ การค้นหา และจะมีผลต่อเวลาถึงโดยประมาณและการคํานวณเส้นทางด้วย เครื่องยนต์ในยานพาหนะ จะคำนวณเส้นทางและการเดินทาง ให้สอดคล้องกับรูปแบบ เดินทางโดยอิงจากกลุ่มประเภทยานพาหนะต่อไปนี้AUTO
,TAXI
หรือTRUCK
: ตัวอย่างเช่น ทางหลวงTWO_WHEELER
: เช่น จะไม่แสดงเส้นทางที่มีมอเตอร์ไซค์วิ่ง อนุญาตBICYCLE
: เช่น เส้นทางจักรยานPEDESTRIAN
: เช่น สะพานและทางเดินสำหรับคนเดินเท้าเท่านั้น
ฟิลด์อื่นๆ
สำหรับช่องอื่นๆ ที่คุณตั้งค่าได้เมื่อสร้างยานพาหนะ โปรดดูหัวข้ออัปเดตยานพาหนะ ช่อง
ตัวอย่างการสร้างยานพาหนะ
ค่าที่แสดงผลจาก CreateVehicle
คือเอนทิตี 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
ดูข้อมูลอ้างอิงของ providers.vehicles.create