रूट प्लानिंग और डिस्पैच की सुविधा की मदद से, SearchVehicles
एपीआई की मदद से आस-पास के ड्राइवर ढूंढे जा सकते हैं. यह मांग पर की जाने वाली राइड और डिलीवरी की सुविधा के हिस्से के तौर पर काम करता है.
SearchVehicles
API की मदद से, ऑन-डिमांड राइड और डिलीवरी सलूशन उपभोक्ता ऐप्लिकेशन में, आस-पास मौजूद उन ड्राइवर को खोजा जा सकता है जो राइड या डिलीवरी जैसे काम के लिए सबसे सही हों. SearchVehicles
एपीआई, रैंक किए गए उन ड्राइवर की सूची दिखाता है जो आपके वाहन के एट्रिब्यूट के साथ टास्क एट्रिब्यूट को मैच करते हैं.
टास्क एट्रिब्यूट में ये शामिल हो सकते हैं:
- पिकअप और ड्रॉप-ऑफ़ की जगहें
- अनुरोध किया गया वाहन और यात्रा के टाइप
- क्षमता की ज़रूरत है
- मिलते-जुलते अन्य ज़रूरी एट्रिब्यूट
वाहन की विशेषताओं में ये शामिल हो सकते हैं:
- किसी वाहन की आखिरी जगह की जानकारी
- वाहन की स्थिति, टाइप या कपैसिटी
- अन्य कस्टम एट्रिब्यूट
रैंकिंग, पिक अप पॉइंट से ETA, दूरी या सीधी लाइन की दूरी के हिसाब से तय होती है.
ध्यान दें कि SearchVehicles
API का इस्तेमाल करने के लिए, आपके पास Fleet Engine सेवा के सुपर उपयोगकर्ता या उपभोक्ता SDK टूल के उपयोगकर्ता के खास अधिकार होने चाहिए. ज़्यादा जानकारी के लिए, पुष्टि करना और अनुमति देना देखें.
SearchVehicles API का इस्तेमाल करना
SearchVehicles
एपीआई का इस्तेमाल करने के लिए:
- असाइन किए जाने वाले टास्क के आधार पर एक
SearchVehiclesRequest
बनाएं. - बनाए गए अनुरोध के साथ
SearchVehicles
एपीआई (vehicleService.searchVehicles
) को कॉल करें. - एपीआई से मिले
SearchVehicleResponse
को प्रोसेस करें.
SearchVehiclesRequest फ़ील्ड
SearchVehiclesRequest
बनाने के लिए, नीचे दिए गए ज़रूरी एट्रिब्यूट फ़ील्ड का इस्तेमाल करें:
फ़ील्ड | ब्यौरा |
---|---|
parent | ज़रूरी है. प्रोवाइडर/{provider} के फ़ॉर्मैट में होना चाहिए. सेवा देने वाली कंपनी को उस Google Cloud प्रोजेक्ट का प्रोजेक्ट आईडी (उदाहरण के लिए, sample-cloud-project) देना चाहिए, जिसके सेवा खाते में यह कॉल किया जा रहा है. |
vehicle_types | ज़रूरी है. अनुरोध किए गए वाहन के टाइप, या तो AUTO, TWO_WHEELER, TAXI, TRUCK, BICYCLE या PEDESTRIAN. |
trip_types | ज़रूरी है. खास (हर ड्राइवर के लिए एक बार में एक चालू यात्रा) या शेयर की गई (हर ड्राइवर के लिए एक बार में एक या कई यात्राएं). |
minimum_capacity | ज़रूरी है. किसी नए काम के लिए, यात्रियों या डिलीवरी के लिए वाहन की कम से कम क्षमता. |
pickup_point | ज़रूरी है. अक्षांश/देशांतर निर्देशांक में टास्क को पिकअप करने की जगह. |
dropoff_point | ज़रूरी नहीं. अक्षांश/देशांतर निर्देशांक में टास्क को छोड़ने की जगह. अगर traffic_types में TripType.SHARED है, तो फ़ील्ड ज़रूरी है. |
pickup_radius_meters | ज़रूरी है. पिकअप पॉइंट से वाहन की खोज वाली जगह का दायरा मीटर में. |
order_by | ज़रूरी है. यहां बताए गए तरीके से वाहन ऑर्डर करें:
|
सोलर पैनलों की संख्या | ज़रूरी है. 1 से 50 के बीच, वापस किए जाने वाले वाहनों की ज़्यादा से ज़्यादा संख्या. |
SearchVehicleRequestfields का पूरा सेट देखने के लिए, रेफ़रंस दस्तावेज़ देखें.
SearchVehiclesRequest के उदाहरण
इस सेक्शन में SearchVehiclesRequest
बनाने के उदाहरण दिए गए हैं.
उदाहरण के लिए, मान लें कि आपके पास RestaurantX और चार गाड़ियों को असाइन करने के लिए एक पिकअप टास्क है:
- वाहन 1, जो RestaurantX से 3500 मीटर दूर है.
- वाहन 2, जो RestaurantX से 100 मीटर दूर है. यहां A और B जगहों से पिकअप और ड्रॉप-ऑफ़ के साथ ही चालू यात्रा की जा रही है.
- वाहन 3, जो RestaurantX से 200 मीटर दूर है और यहां से बहुत दूर एक ड्रॉप-ऑफ़ बाकी है.
- वाहन 4, जो RestaurantX से 1,000 मीटर दूर है.
यह SearchVehiclesRequest
गाड़ी 4 दिखाता है:
Pickup at RestaurantX, radius = 1200m, order by PICKUP_POINT_ETA
यह SearchVehiclesRequest
, कार 3 और 4 दिखाता है:
Pickup at RestaurantX, radius = 1200m, order by PICKUP_POINT_ETA, is_back_to_back enabled
यह SearchVehiclesRequest
गाड़ी 2, 3, और 4 दिखाता है:
Pickup at RestaurantX, radius = 1200m, order by PICKUP_POINT_ETA, current_trips_present = ALL
SearchVehiclesResponse फ़ील्ड
SearchVehiclesResponse
में VehicleMatch
इकाइयों की एक सूची होती है, जिसे SearchVehiclesRequest
में दिए गए order_by एट्रिब्यूट के हिसाब से रैंक किया जाता है.
हर VehicleMatch
इकाई में ये फ़ील्ड होते हैं:
फ़ील्ड | ब्यौरा |
---|---|
गाड़ी | Vehicle ऑब्जेक्ट, जिसमें वाहन का आईडी और Vehicle एट्रिब्यूट शामिल हैं. |
vehicle_pickup_eta | नए टास्क के पिकअप की जगह पर वाहन का ETA. यह ड्राइविंग का ईटीए है. |
vehicle_pickup_distance_meter | नए टास्क के लिए, वाहन और पिक अप की जगह के बीच की दूरी मीटर में. |
vehicle_pickup_straight_line_distance_meter | नए टास्क के लिए, वाहन और पिक अप करने की जगह के बीच सीधी लाइन की दूरी मीटर में. |
vehicle_dropoff_eta | नए टास्क को पिकअप करने की जगह पर, वाहन के ETA का टाइमस्टैंप. ध्यान रखें कि ETA, ड्राइविंग ईटीए होता है. |
vehicle_trips_waypoints | वाहन को फ़िलहाल असाइन की गई चालू यात्राओं के लिए, बचे हुए वेपॉइंट की सूची. इसमें पिकअप और ड्रॉप-ऑफ़ पॉइंट भी शामिल हैं. |
vehicle_match_type | वाहन की यात्रा का प्रकार, EXCLUSIVE, BACK_TO_BACK, CARPOOL या CARPOOL_BACK_TO_BACK. |
SearchVehicles का उदाहरण
नीचे दिए गए उदाहरण में, SearchVehicles
एपीआई को इस्तेमाल करने का तरीका बताया गया है:
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.