İsteğe bağlı yolculuklar için Fleet Engine'de bir araç oluşturmak için CreateVehicleRequest ile CreateVehicle uç noktasını kullanın. Bu uç nokta için Fleet Engine On-demand Admin rolüne sahip bir hesap gerekir.
Talep üzerine yolculuk araçları için alanlar
Talep üzerine yolculuklar için araç oluştururken zorunlu alanları ayarlamanız gerekir. Ayrıca belirli araç alanlarının Fleet Engine'deki diğer işlevleri nasıl etkilediğini de bilmeniz gerekir. Bu işlem için Araç alanlarını güncelleme başlıklı makaleyi inceleyin.
Talep üzerine yolculuklar için zorunlu alanlar
vehicle_state: Varsayılan olarak bilinmiyor şeklinde ayarlanır ancak ONLINE veya OFFLINE olarak ayarlanmalıdır. Araç durumu alanının ayarlanmasıyla ilgili bilgileri Araç alanlarını güncelle bölümünde bulabilirsiniz.supported_trip_types: Varsayılan olarak bilinmiyor (unknown) değerine ayarlanır ancak PAYLAŞILAN (SHARED), ÖZEL (EXCLUSIVE) veya her ikisi olarak ayarlanmalıdır. Ayrıntılar için İsteğe bağlı geziler kılavuzundaki Gezi türleri bölümüne bakın.maximum_capacity: Sürücü hariç (tanım gereği) aracın taşıyabileceği yolcu sayısı.vehicle_type: DeğerlerAUTO,TAXI,TRUCK,TWO_WHEELER,BICYCLEveyaPEDESTRIAN'dir. Araç aramalarında araçları filtrelemek için kullanılabilir. Bu durum ETA ve rota hesaplamalarını da etkiliyor. Fleet Engine, aşağıdaki araç türü gruplarına göre seyahat şekline uygun rotalar ve seyahat hesaplamaları sağlar:AUTO,TAXIveyaTRUCK: örneğin otoyollar.TWO_WHEELER: örneğin 2 tekerlekli araçların kullanımına izin verilmeyen rotaları geri getirmeyecektir.BICYCLE: Örneğin, bisiklet yolları.PEDESTRIAN: örneğin yalnızca yayalara açık köprüler ve yürüyüş yolları.
Diğer alanlar
Araç oluştururken ayarlayabileceğiniz diğer alanlar için Araç alanlarını güncelleme başlıklı makaleyi inceleyin.
Araç oluşturma örneği
CreateVehicle işlevinden döndürülen değer, oluşturulan Vehicle öğesidir.
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"}]
}
EOMproviders.vehicles.create referansını inceleyin.