मांग पर राइड और डिलीवरी की सुविधा के तहत, रास्ते की प्लानिंग और डिस्पैच
क्षमता से आप SearchVehicles
API उपलब्ध कराकर आस-पास मौजूद ड्राइवर ढूँढ सकते हैं.
SearchVehicles
एपीआई की मदद से, आप अपने आस-पास मौजूद ड्राइवर ढूंढ सकते हैं
मांग पर राइड और डिलीवरी की सुविधा देने वाला उपभोक्ता ऐप्लिकेशन, जो काम के हिसाब से सबसे सही है
जैसे कि राइड या डिलीवरी का अनुरोध. SearchVehicles
एपीआई का इस्तेमाल करके,
एट्रिब्यूट के साथ टास्क के एट्रिब्यूट का मिलान करने वाले ड्राइवर की रैंक की गई सूची
को ट्रैक किया जा सकता है.
टास्क के एट्रिब्यूट में ये शामिल हो सकते हैं:
- पिक अप और ड्रॉप की जगह
- अनुरोध किया गया वाहन और यात्रा के प्रकार
- ज़रूरी क्षमता
- मिलते-जुलते दूसरे ज़रूरी एट्रिब्यूट
वाहन के एट्रिब्यूट में ये शामिल हो सकते हैं:
- आखिरी बार वाहन किस जगह पर मौजूद था
- वाहन की स्थिति, टाइप या क्षमता
- अन्य कस्टम एट्रिब्यूट
रैंकिंग को आपके चुने हुए ETA, दूरी या सीधी लाइन के हिसाब से क्रम में लगाया जाता है पिकअप पॉइंट से दूरी.
ध्यान दें कि आपके पास फ़्लीट इंजन सर्विस के सुपर यूज़र या कंज़्यूमर एसडीके यूज़र होना ज़रूरी है
SearchVehicles
एपीआई इस्तेमाल करने के खास अधिकार. ज़्यादा जानकारी के लिए, यह देखें
पुष्टि करना और अनुमति देना.
SearchVehicles API का इस्तेमाल करना
SearchVehicles
एपीआई का इस्तेमाल करने के लिए:
- असाइन किए जाने वाले टास्क के आधार पर
SearchVehiclesRequest
बनाएं. SearchVehicles
एपीआई (vehicleService.searchVehicles
) पर कॉल करें बनाए गए अनुरोध के साथ.- एपीआई से लौटाए गए
SearchVehicleResponse
को प्रोसेस करें.
SearchVehiclesRequest फ़ील्ड
इसे बनाने के लिए, नीचे दिए गए ज़रूरी एट्रिब्यूट फ़ील्ड का इस्तेमाल करें
SearchVehiclesRequest
:
फ़ील्ड | ब्यौरा |
---|---|
अभिभावक | ज़रूरी है. प्रोवाइडर/{provider} में होना चाहिए. प्रोवाइडर के पास, उस Google Cloud प्रोजेक्ट का प्रोजेक्ट आईडी (उदाहरण के लिए, sample-cloud-project) होना चाहिए जिसका सेवा खाता यह कॉल कर रहा है. |
vehicle_types | ज़रूरी है. अनुरोध किए गए वाहनों के टाइप, जैसे कि Auto, TWO_WHEELER, TAXI, TRUCK, BICYCLE या PEDESTRIAN. |
trip_types | ज़रूरी है. EXCLUSIVE (हर ड्राइवर के लिए एक बार में एक चालू यात्रा) या शेयर की गई (हर ड्राइवर के लिए एक बार में एक या एक से ज़्यादा यात्राएं). |
minimum_capacity | ज़रूरी है. किसी नए टास्क के लिए, वाहन की कम से कम बची हुई क्षमता. |
pickup_point | ज़रूरी है. अक्षांश/देशांतर निर्देशांक में टास्क को पिकअप करने की जगह. |
dropoff_point | ज़रूरी नहीं. अक्षांश/देशांतर कोऑर्डिनेट में टास्क छोड़ने की जगह. अगरtrip_type में TripType.SHARED है, तो फ़ील्ड में वैल्यू डालना ज़रूरी है. |
pickup_radius_meters | ज़रूरी है. पिकअप पॉइंट से, वाहन खोजने के इलाके का दायरा मीटर में. |
order_by | ज़रूरी है. इनमें से किसी एक का इस्तेमाल करके वाहन ऑर्डर करें:
|
सोलर पैनलों की संख्या | ज़रूरी है. रिटर्न के लिए 1 से 50 तक के वाहनों की ज़्यादा से ज़्यादा संख्या. |
का पूरा सेट देखने के लिए संदर्भ दस्तावेज़ देखें SearchVehicleRequestfields.
SearchVehiclesRequest के उदाहरण
इस सेक्शन में, SearchVehiclesRequest
बनाने के उदाहरण दिए गए हैं.
उदाहरण के लिए, मान लें कि आपको RestaurantX पर पिकअप करने का कोई टास्क असाइन करना है और चार वाहन:
- गाड़ी 1, रेस्टोरेंटX से 3,500 मीटर दूर है.
- गाड़ी 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
में, दिए गए ऑर्डर_बाय एट्रिब्यूट के हिसाब से रैंक की गई है.
हर VehicleMatch
इकाई में ये फ़ील्ड होते हैं:
फ़ील्ड | ब्यौरा |
---|---|
गाड़ी | Vehicle ऑब्जेक्ट, जिसमेंvehicle_id और Vehicle एट्रिब्यूट शामिल हैं. |
vehicle_pickup_eta | नए टास्क को पिकअप करने की जगह पर वाहन का ETA. यह ड्राइविंग ETA है. |
vehicle_pickup_distance_meter | टास्क के लिए चुनी गई जगह और गाड़ी के बीच की दूरी, मीटर में. |
vehicle_pickup_straight_line_distance_meter | टास्क के लिए चुनी गई जगह और गाड़ी के बीच सीधी लाइन की दूरी, मीटर में. |
vehicle_dropoff_eta | टाइमस्टैंप टास्क के पिक अप वाली जगह पर वाहन के 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.