गाड़ियां खोजें

मांग के हिसाब से यात्रा की सेवा के तहत, SearchVehicles तरीके का इस्तेमाल करके, आस-पास के वाहन ढूंढे जा सकते हैं.

SearchVehicles तरीके से, आपको अपने उपभोक्ता मोबाइल ऐप्लिकेशन में आस-पास उपलब्ध ऐसे वाहन ढूँढने में मदद मिलती है जो किसी खास राइड या डिलीवरी के अनुरोध के लिए सबसे सही हों. SearchVehicles एपीआई, रैंक के हिसाब से वाहनों की एक लिस्ट दिखाता है. इसमें उन वाहनों की जानकारी होती है जिनके एट्रिब्यूट, यात्रा के लिए अनुरोध किए गए एट्रिब्यूट से मेल खाते हैं. रैंकिंग, पिकअप पॉइंट से दूरी, ईटीए या सीधी दूरी के हिसाब से तय होती है.

खोज से जुड़े एट्रिब्यूट वाहन की विशेषताएं
  • पिकअप और ड्रॉप-ऑफ़ की जगहें
  • वाहन और यात्रा के टाइप के लिए अनुरोध किया गया
  • ज़रूरी क्षमता
  • मिलान करने के लिए इस्तेमाल किए जाने वाले अन्य ज़रूरी एट्रिब्यूट
  • किसी वाहन की आखिरी लोकेशन
  • वाहन की स्थिति, टाइप या क्षमता
  • अन्य कस्टम एट्रिब्यूट

SearchVehicles वाला तरीका इस्तेमाल करना

SearchVehicles का इस्तेमाल करने के लिए, यह सामान्य तरीका अपनाएं:

  1. यात्रा के लिए असाइन किए जाने वाले SearchVehiclesRequest को बनाएं.
  2. बनाए गए अनुरोध के साथ, SearchVehicles एपीआई (vehicleService.searchVehicles) को कॉल करें.
  3. एपीआई से मिले 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 ज़रूरी है. इनमें से किसी एक के हिसाब से वाहनों को क्रम में लगाएं:
  • PICKUP_POINT_ETA, पिकअप पॉइंट पर वाहन के पहुंचने का अनुमानित समय.
  • PICKUP_POINT_DISTANCE, वाहन और पिकअप पॉइंट के बीच की दूरी.
  • DROPOFF_POINT_ETA, वाहन के ड्रॉप-ऑफ़ पॉइंट पर पहुंचने का अनुमानित समय.
  • PICKUP_POINT_STRAIGHT_DISTANCE, वाहन और पिकअप पॉइंट के बीच की सीधी दूरी (रास्ते में नहीं).
सोलर पैनलों की संख्या ज़रूरी है. वापस लाए जाने वाले वाहनों की ज़्यादा से ज़्यादा संख्या. यह संख्या 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 मीटर की दूरी पर है.

यहां, वाहन के हिसाब से अलग-अलग अनुरोध दिखाए गए हैं.

Returns Vehicle 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 फ़ील्ड की पूरी सूची देखने के लिए, यहां जाएं:

क्वेरी फ़िल्टर करने की सुविधा का इस्तेमाल करना

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.

आगे क्या करना है