İsteğe Bağlı Yolculuk ve Teslimat Çözümünüzün bir parçası olarak, Rota Planlama ve Sevkiyat
özelliği, bir SearchVehicles
API sağlayarak yakındaki sürücüleri bulmanızı sağlar.
SearchVehicles
API, bulunduğunuz yerdeki mevcut sürücüleri bulmanızı sağlar
Belli bir göreve en uygun tüketici uygulaması, On-İsteğe Bağlı Yolculuklar ve Teslimatlar Çözümü
taksi veya teslimat talebi gibi. SearchVehicles
API'si döndürülüyor
görev özelliklerini özelliklerle eşleşen sürücülerin sıralı listesi
filonuzdaki araçların sayısı.
Görev özellikleri şunları içerebilir:
- Teslim alma ve bırakma konumları
- İstenen araç ve seyahat türleri
- Gerekli kapasite
- Diğer gerekli eşleşme özellikleri
Araç özellikleri şunları içerebilir:
- Bir aracın bilinen son konumu
- Aracın durumu, türü veya kapasitesi
- Diğer özel özellikler
Sıralama; TVS, mesafe veya düz çizgi arasından seçiminizi yaparak sıralanır uzaklığıdır.
Fleet Engine Service Süper Kullanıcısı veya Tüketici SDK'sı Kullanıcısı olmanız gerektiğini unutmayın
SearchVehicles
API'yi kullanma ayrıcalıkları. Daha fazla bilgi için bkz.
Authentication and Authorization (Kimlik Doğrulama ve Yetkilendirme).
SearchVehicles API'yi kullanma
SearchVehicles
API'yi kullanmak için:
- Atanacak göreve göre bir
SearchVehiclesRequest
oluşturun. SearchVehicles
API'sini (vehicleService.searchVehicles
) çağırın oluşturulan istekle aynı olabilir.- API'den döndürülen
SearchVehicleResponse
dosyasını işleyin.
SearchVehiclesRequest alanları
Aşağıdaki zorunlu özellik alanlarını kullanarak
SearchVehiclesRequest
:
Alan | Açıklama |
---|---|
üst | Zorunludur. provider/{provider} biçiminde olmalıdır. Sağlayıcı, bu çağrıyı yapan hizmet hesabının üyesi olduğu Google Cloud projesinin Proje Kimliği (ör. sample-cloud-project) olmalıdır. |
vehicle_types | Zorunludur. İstenen araç türleri: OTO, İKİ_WHEELER, TAXI, KAMYON, BICYCLE veya YAYA. |
trip_types | Zorunludur. ÖZEL (sürücü başına aynı anda bir aktif gezi) veya PAYLAŞILAN (sürücü başına bir defada bir veya daha fazla yolculuk). |
minimum_capacity | Zorunludur. Yolcular veya teslimatlar için aracın yeni bir görev için kalan minimum kapasitesi. |
pickup_point | Zorunludur. Görevin enlem/boylam koordinatlarında alınma yeri. |
dropoff_point | İsteğe bağlı. Görevin enlem/boylam koordinatlarında bırakma konumu. Trip_types TripType.SHARED içeriyorsa bu alan zorunludur. |
pickup_radius_meters | Zorunludur. Teslim alma noktasından araç arama alanının metre cinsinden yarıçapı. |
order_by | Zorunludur. Araçları aşağıdakilerden birine göre sipariş edin:
|
sayı | Zorunludur. 1'den 50'ye kadar geri dönülecek maksimum araç sayısı. |
Tekliflerinin tamamını görmek için Referans belgelerine bakın. SearchVehicleRequestfields.
SearchVehiclesRequest örnekleri
Bu bölümde, SearchVehiclesRequest
oluşturma örnekleri gösterilmektedir.
Örneğin, RestoranX'te atanacak bir gel-al göreviniz olduğunu varsayalım ve dört taşıt bulunuyor:
- RestaurantX'e 3.500 m uzaklıktaki Araç 1.
- RestaurantX'e 100 m mesafedeki ve aktif bir yolculuğu olan 2. Araç A ve B konumlarında yolcu alma ve bırakma
- RestaurantX'e 200 m uzaklıkta olan ve bir düşüşü kalan 3. Araç çok uzakta olduğunu fark ettim.
- RestaurantX'e 1.000 m uzaklıktaki 4. Araç.
Aşağıdaki SearchVehiclesRequest
, 4. Aracı döndürür:
Pickup at RestaurantX, radius = 1200m, order by PICKUP_POINT_ETA
Aşağıdaki SearchVehiclesRequest
, 3. ve 4. Aracı döndürür:
Pickup at RestaurantX, radius = 1200m, order by PICKUP_POINT_ETA, is_back_to_back enabled
Aşağıdaki SearchVehiclesRequest
, 2, 3 ve 4 numaralı Aracı döndürür:
Pickup at RestaurantX, radius = 1200m, order by PICKUP_POINT_ETA, current_trips_present = ALL
SearchVehiclesResponse alanları
SearchVehiclesResponse
, VehicleMatch
varlık listesinden oluşur.
SearchVehiclesRequest
içinde belirtilen Order_by özelliğine göre sıralanır.
Her VehicleMatch
varlığı aşağıdaki alanlara sahiptir:
Alan | Açıklama |
---|---|
araç | tool_id ve Vehicle özellikleri dahil olmak üzere Vehicle nesnesi. |
vehicle_pickup_eta | Aracın yeni görevin teslim noktasındaki TVS'si. Bu, artan TVS'dir. |
vehicle_pickup_distance_meter | Araç ile yeni görevin teslim alma konumu arasındaki metre cinsinden mesafe. |
vehicle_pickup_straight_line_distance_meter | Araç ile yeni görevin teslim alma konumu arasındaki metre cinsinden düz çizgi. |
vehicle_dropoff_eta | Zaman damgası yeni görevin teslim alındığı yerdeki araç TVS'si gösterilir. TVS'nin, araba ETA olduğunu unutmayın. |
vehicle_trips_waypoints | Halihazırda araca atanmış etkin yolculuklar için alma ve bırakma noktaları da dahil olmak üzere kalan ara noktaların listesi. |
vehicle_match_type | Aracın seyahat türü: EXCLUSIVE, BACK_TO_BACK, CARPOOL veya CARPOOL_BACK_TO_BACK. |
Araç Arama Örneği
Aşağıdaki örnekte SearchVehicles
API'nin nasıl kullanılacağı gösterilmektedir:
static final String PROJECT_ID = "project-id";
VehicleServiceBlockingStub vehicleService =
VehicleService.newBlockingStub(channel);
String parent = "providers/" + PROJECT_ID;
SearchVehiclesRequest searchVehiclesRequest = SearchVehiclesRequest.newBuilder()
.setParent(parent)
.setPickupPoint( // Grand Indonesia East Mall
TerminalLocation.newBuilder().setPoint(
LatLng.newBuilder().setLatitude(-6.195139).setLongitude(106.820826)))
.setDropoffPoint( // Balai Sidang Jkt Convention Center
TerminalLocation.newBuilder().setPoint(
LatLng.newBuilder().setLatitude(-6.213796).setLongitude(106.807195)))
.setPickupRadiusMeters(2000)
.setCount(10)
.setMinimumCapacity(2)
.addTripTypes(TripType.EXCLUSIVE)
.addVehicleTypes(VehicleType.newBuilder().setCategory(Category.AUTO).build())
.setCurrentTripsPresent(CurrentTripsPresent.ANY)
.setFilter("attributes.on_trip=\"false\"")
.setOrderBy(VehicleMatchOrder.PICKUP_POINT_ETA)
.build();
try {
SearchVehiclesResponse searchVehiclesResponse =
vehicleService.searchVehicles(searchVehiclesRequest);
} catch (StatusRuntimeException e) {
Status s = e.getStatus();
switch (s.getCode()) {
case NOT_FOUND:
break;
case PERMISSION_DENIED:
break;
}
return;
}
List<VehicleMatch> vehicleMatches =
searchVehicleResponse.getMatchesList();
// Each VehicleMatch contains a Vehicle entity and information about the
// distance and ETA to the pickup point and drop-off point.