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