टेक्स्ट सर्च (नया)

प्लैटफ़ॉर्म चुनें: Android iOS JavaScript वेब सेवा

टेक्स्ट सर्च (नया), किसी स्ट्रिंग के आधार पर जगहों के सेट की जानकारी दिखाता है. उदाहरण के लिए, "न्यूयॉर्क में पिज़्ज़ा" या "ओटावा के आस-पास के जूते के स्टोर" या "123 मुख्य सड़क". सेवा, टेक्स्ट स्ट्रिंग और सेट की गई जगह के हिसाब से, मिलती-जुलती जगहों की सूची दिखाती है.

यह सेवा, ऑटोमेटेड सिस्टम में पते से जुड़ी ऐसी क्वेरी बनाने के लिए खास तौर पर मददगार है जिनमें पते की जानकारी साफ़ तौर पर नहीं दी गई है. साथ ही, स्ट्रिंग के ऐसे कॉम्पोनेंट, कारोबारों के साथ-साथ पतों से भी मैच कर सकते हैं जिनमें पते की जानकारी नहीं दी गई है. पते से जुड़ी अस्पष्ट क्वेरी के उदाहरणों में, ऐसे पते शामिल हैं जिनका फ़ॉर्मैट सही नहीं है या ऐसे अनुरोध जिनमें कारोबार के नाम जैसे पते से जुड़े कॉम्पोनेंट शामिल नहीं हैं. नीचे दी गई टेबल में दिए गए पहले दो उदाहरणों जैसे अनुरोधों से शायद कोई नतीजा न मिले. ऐसा तब तक होगा, जब तक कोई जगह — जैसे कि इलाका, जगह से जुड़ी पाबंदी या जगह के हिसाब से — सेट नहीं की जाती.

"10 हाई स्ट्रीट, यूके" या "123 मेन स्ट्रीट, अमेरिका" यूनाइटेड किंगडम में कई "हाई स्ट्रीट"; अमेरिका में कई "मुख्य सड़कें". क्वेरी से मनमुताबिक नतीजे तब तक नहीं मिलते, जब तक जगह की जानकारी से जुड़ी पाबंदी सेट नहीं की जाती.
"ChainRestaurant New York" न्यूयॉर्क में "ChainRestaurant" की कई जगहें; सड़क का पता या यहां तक कि सड़क का नाम भी नहीं.
"10 हाई स्ट्रीट, एशर यूके" या "123 मेन स्ट्रीट, प्लेसेंटन अमेरिका" यूनाइटेड किंगडम के शहर एशर में सिर्फ़ एक "हाई स्ट्रीट" है; अमेरिका के शहर प्लेसेंटन, कैलिफ़ोर्निया में सिर्फ़ एक "मुख्य सड़क" है.
"UniqueRestaurantName New York" न्यूयॉर्क में इस नाम का सिर्फ़ एक कारोबार है. इसलिए, इसे अलग करने के लिए सड़क का पता देने की ज़रूरत नहीं है.
"न्यूयॉर्क में पिज़्ज़ा रेस्टोरेंट" इस क्वेरी में जगह से जुड़ी पाबंदी शामिल है. साथ ही, "पिज़्ज़ा रेस्टोरेंट" एक ऐसी जगह है जिसकी जानकारी साफ़ तौर पर दी गई है. यह कई नतीजे दिखाता है.
"+1 514-670-8700"

इस क्वेरी में एक फ़ोन नंबर शामिल है. यह उस फ़ोन नंबर से जुड़ी जगहों के लिए कई नतीजे दिखाता है.

एपीआई एक्सप्लोरर की मदद से, लाइव अनुरोध किए जा सकते हैं. इससे आपको एपीआई और एपीआई के विकल्पों के बारे में जानकारी मिलती है:

इसे आज़माएं!

टेक्स्ट खोज के अनुरोध

टेक्स्ट खोज का अनुरोध, इस फ़ॉर्म का एचटीटीपी पोस्ट अनुरोध होता है:

https://places.googleapis.com/v1/places:searchText

सभी पैरामीटर को JSON अनुरोध के मुख्य हिस्से में या POST अनुरोध के हिस्से के तौर पर हेडर में पास करें. उदाहरण के लिए:

curl -X POST -d '{
  "textQuery" : "Spicy Vegetarian Food in Sydney, Australia"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel' \
'https://places.googleapis.com/v1/places:searchText'

टेक्स्ट से खोजने की सुविधा (नया) से मिलने वाले जवाब

टेक्स्ट सर्च (नया) का इस्तेमाल करने पर, आपको रिस्पॉन्स के तौर पर JSON ऑब्जेक्ट मिलता है. जवाब में:

  • places कलेक्शन में, खोज के नतीजे में शामिल सभी जगहें शामिल होती हैं.
  • ऐरे में मौजूद हर जगह को एक Place ऑब्जेक्ट से दिखाया जाता है. Place ऑब्जेक्ट में किसी एक जगह के बारे में पूरी जानकारी होती है.
  • अनुरोध में पास किए गए FieldMask से, Place ऑब्जेक्ट में दिखाए गए फ़ील्ड की सूची का पता चलता है.

पूरा JSON ऑब्जेक्ट इस फ़ॉर्मैट में होता है:

{
  "places": [
    {
      object (Place)
    }
  ]
}

ज़रूरी पैरामीटर

  • FieldMask

    रिस्पॉन्स में दिखाए जाने वाले फ़ील्ड की सूची तय करने के लिए, रिस्पॉन्स फ़ील्ड मास्क बनाएं. यूआरएल पैरामीटर $fields या fields का इस्तेमाल करके या एचटीटीपी हेडर X-Goog-FieldMask का इस्तेमाल करके, रिस्पॉन्स फ़ील्ड मास्क को तरीके में पास करें. रिस्पॉन्स में, दिखाए गए फ़ील्ड की कोई डिफ़ॉल्ट सूची नहीं होती. फ़ील्ड मास्क को हटाने पर, यह तरीका गड़बड़ी का मैसेज दिखाता है.

    फ़ील्ड मास्किंग, डिज़ाइन का एक अच्छा तरीका है. इससे यह पक्का किया जा सकता है कि आपने ज़रूरत से ज़्यादा डेटा का अनुरोध न किया हो. इससे, प्रोसेसिंग में लगने वाले समय और बिलिंग शुल्क से बचा जा सकता है.

    जगह के डेटा टाइप की सूची दें. यह सूची कॉमा लगाकर अलग की जानी चाहिए. उदाहरण के लिए, जगह का डिसप्ले नेम और पता पाने के लिए.

    X-Goog-FieldMask: places.displayName,places.formattedAddress

    सभी फ़ील्ड वापस पाने के लिए, * का इस्तेमाल करें.

    X-Goog-FieldMask: *

    इनमें से एक या उससे ज़्यादा फ़ील्ड डालें:

    • ये फ़ील्ड, टेक्स्ट सर्च (सिर्फ़ आईडी) SKU को ट्रिगर करते हैं:

      places.attributions, places.id, places.name*, nextPageToken

      * places.name फ़ील्ड में, जगह का संसाधन का नाम होता है, जो इस फ़ॉर्मैट में होता है: places/PLACE_ID. जगह के टेक्स्ट वाले नाम को ऐक्सेस करने के लिए, places.displayName का इस्तेमाल करें.
    • ये फ़ील्ड, टेक्स्ट सर्च (बुनियादी) SKU को ट्रिगर करते हैं:

      places.accessibilityOptions, places.addressComponents, places.adrFormatAddress, places.businessStatus, places.containingPlaces, places.displayName, places.formattedAddress, places.googleMapsLinks*, places.googleMapsUri, places.iconBackgroundColor, places.iconMaskBaseUri, places.location, places.photos, places.plusCode, places.primaryType, places.primaryTypeDisplayName, places.pureServiceAreaBusiness, places.shortFormattedAddress, places.subDestinations, places.types, places.utcOffsetMinutes, places.viewport

      * places.googleMapsLinks फ़ील्ड, GA के रिलीज़ होने से पहले की झलक के चरण में है और इसके लिए कोई शुल्क नहीं लिया जाता. इसका मतलब है कि झलक के दौरान इस्तेमाल के लिए, बिलिंग 0 डॉलर है.
    • ये फ़ील्ड, टेक्स्ट सर्च (बेहतर) SKU को ट्रिगर करते हैं:

      places.currentOpeningHours, places.currentSecondaryOpeningHours, places.internationalPhoneNumber, places.nationalPhoneNumber, places.priceLevel, places.priceRange, places.rating, places.regularOpeningHours, places.regularSecondaryOpeningHours, places.userRatingCount, places.websiteUri
    • ये फ़ील्ड, टेक्स्ट सर्च (प्राथमिक) SKU को ट्रिगर करते हैं:

      places.allowsDogs, places.curbsidePickup, places.delivery, places.dineIn, places.editorialSummary, places.evChargeOptions, places.fuelOptions, places.goodForChildren, places.goodForGroups, places.goodForWatchingSports, places.liveMusic, places.menuForChildren, places.parkingOptions, places.paymentOptions, places.outdoorSeating, places.reservable, places.restroom, places.reviews, places.routingSummaries,* places.servesBeer, places.servesBreakfast, places.servesBrunch, places.servesCocktails, places.servesCoffee, places.servesDessert, places.servesDinner, places.servesLunch, places.servesVegetarianFood, places.servesWine, places.takeout

      * सिर्फ़ टेक्स्ट सर्च और आस-पास के इलाके के लिए खोजने की सुविधा
  • textQuery

    वह टेक्स्ट स्ट्रिंग जिस पर खोज करनी है. उदाहरण के लिए: "रेस्टोरेंट", "123 मुख्य सड़क" या "सैन फ़्रांसिस्को में घूमने-फिरने की सबसे अच्छी जगह". एपीआई, इस स्ट्रिंग के आधार पर मिलते-जुलते उम्मीदवारों की जानकारी दिखाता है. साथ ही, नतीजों को उनके काम के होने के हिसाब से क्रम में लगाता है.

ज़रूरी नहीं पैरामीटर

  • includedType

    नतीजों को उन जगहों तक सीमित करता है जो टेबल A में बताए गए टाइप से मेल खाती हैं. सिर्फ़ एक टाइप का इस्तेमाल किया जा सकता है. उदाहरण के लिए:

    • "includedType":"bar"
    • "includedType":"pharmacy"
  • includePureServiceAreaBusinesses

    अगर इसकी वैल्यू true पर सेट है, तो जवाब में ऐसे कारोबार शामिल होते हैं जो ग्राहकों के घर या दुकान पर जाकर सेवा देते हैं या डिलीवरी करते हैं. हालांकि, इनके पास कोई कारोबारी जगह नहीं होती. अगर इसकी वैल्यू false पर सेट है, तो एपीआई सिर्फ़ ऐसे कारोबारों की जानकारी दिखाता है जिनके पास कारोबार की कोई तय जगह है.

  • languageCode

    वह भाषा जिसमें नतीजे दिखाने हैं.

    • इस्तेमाल की जा सकने वाली भाषाओं की सूची देखें. Google, इस्तेमाल की जा सकने वाली भाषाओं की सूची को अक्सर अपडेट करता है. इसलिए, हो सकता है कि इस सूची में सभी भाषाएं शामिल न हों.
    • अगर languageCode नहीं दिया जाता है, तो एपीआई डिफ़ॉल्ट रूप से en पर सेट हो जाता है. अगर आपने अमान्य भाषा कोड डाला है, तो एपीआई INVALID_ARGUMENT गड़बड़ी का मैसेज दिखाता है.
    • एपीआई, मोहल्ले का ऐसा पता देने की पूरी कोशिश करता है जिसे उपयोगकर्ता और स्थानीय लोग, दोनों पढ़ सकें. इस लक्ष्य को हासिल करने के लिए, यह स्थानीय भाषा में सड़क के पते दिखाता है. साथ ही, ज़रूरत पड़ने पर, उपयोगकर्ता की पसंदीदा भाषा के हिसाब से, पते को ऐसी स्क्रिप्ट में बदल देता है जिसे उपयोगकर्ता पढ़ सके. बाकी सभी पते, पसंदीदा भाषा में दिखाए जाते हैं. पते के सभी कॉम्पोनेंट, एक ही भाषा में दिखाए जाते हैं. यह भाषा, पहले कॉम्पोनेंट से चुनी जाती है.
    • अगर कोई नाम आपकी पसंदीदा भाषा में उपलब्ध नहीं है, तो एपीआई सबसे मिलते-जुलते नाम का इस्तेमाल करता है.
    • पसंदीदा भाषा का असर, उन नतीजों के सेट पर पड़ता है जिन्हें एपीआई दिखाता है. साथ ही, इस बात पर भी असर पड़ता है कि नतीजे किस क्रम में दिखाए जाते हैं. भाषा के हिसाब से, जियोकोडर, अंग्रेज़ी के संक्षिप्त रूपों को अलग-अलग तरीके से समझता है. जैसे, सड़क के टाइप के लिए अंग्रेज़ी के संक्षिप्त रूप या ऐसे समानार्थी शब्द जो एक भाषा में मान्य हो सकते हैं, लेकिन दूसरी भाषा में नहीं.
  • locationBias

    खोजने के लिए कोई इलाका तय करता है. यह जगह, खोज के नतीजों को बायस करती है. इसका मतलब है कि आपने जिस जगह की जानकारी दी है उसके आस-पास के नतीजे दिखाए जा सकते हैं. इनमें, उस जगह से बाहर के नतीजे भी शामिल हो सकते हैं.

    locationRestriction या locationBias की वैल्यू सबमिट की जा सकती है, लेकिन दोनों नहीं. locationRestriction को उस क्षेत्र के तौर पर देखें जहां नतीजे होने चाहिए और locationBias को उस क्षेत्र के तौर पर देखें जहां नतीजे होने की संभावना है या जहां नतीजे हो सकते हैं.

    क्षेत्र को रेक्टैंगल व्यूपोर्ट या सर्कल के तौर पर तय करें.

    • किसी वृत्त को उसके केंद्र बिंदु और त्रिज्या से तय किया जाता है. त्रिज्या को मीटर में दिखाया जाता है. त्रिज्या 0.0 और 50, 000.0 के बीच होनी चाहिए. त्रिज्या की डिफ़ॉल्ट वैल्यू 0.0 होती है. उदाहरण के लिए:

      "locationBias": {
        "circle": {
          "center": {
            "latitude": 37.7937,
            "longitude": -122.3965
          },
          "radius": 500.0
        }
      }
    • रेक्टैंगल, अक्षांश-देशांतर व्यूपोर्ट होता है. इसे डायगनल के विपरीत दो कम और ज़्यादा पॉइंट के तौर पर दिखाया जाता है. सबसे कम वैल्यू, आयताकार पैनल के दक्षिण-पश्चिम कोने को दिखाती है. वहीं, सबसे ज़्यादा वैल्यू, आयताकार पैनल के उत्तर-पूर्व कोने को दिखाती है.

      व्यूपोर्ट को एक बंद क्षेत्र माना जाता है. इसका मतलब है कि इसमें उसकी सीमा भी शामिल होती है. अक्षांश की सीमाएं -90 से 90 डिग्री के बीच होनी चाहिए. साथ ही, देशांतर की सीमाएं -180 से 180 डिग्री के बीच होनी चाहिए:

      • अगर low = high है, तो व्यूपोर्ट में सिर्फ़ वह एक पॉइंट होता है.
      • अगर low.longitude > high.longitude है, तो ज़्यादा से ज़्यादा देशांतर की सीमा उलट जाती है (व्यूपोर्ट, 180 डिग्री देशांतर की लाइन को पार कर जाता है).
      • अगर low.longitude = -180 डिग्री और high.longitude = 180 डिग्री है, तो व्यूपोर्ट में सभी देशांतर शामिल होते हैं.
      • अगर low.longitude = 180 डिग्री और high.longitude = -180 डिग्री है, तो देशांतर की सीमा खाली होती है.
      • अगर low.latitude > high.latitude है, तो अक्षांश की रेंज खाली है.

      कम और ज़्यादा, दोनों वैल्यू डालना ज़रूरी है. साथ ही, दिखाया गया बॉक्स खाली नहीं होना चाहिए. खाली व्यूपोर्ट की वजह से गड़बड़ी होती है.

      उदाहरण के लिए, यह व्यूपोर्ट पूरी तरह से न्यूयॉर्क सिटी को कवर करता है:

      "locationBias": {
        "rectangle": {
          "low": {
            "latitude": 40.477398,
            "longitude": -74.259087
          },
          "high": {
            "latitude": 40.91618,
            "longitude": -73.70018
          }
        }
      }
  • locationRestriction

    खोजने के लिए कोई इलाका तय करता है. तय किए गए इलाके से बाहर के नतीजे नहीं दिखाए जाते.

    क्षेत्र को आयताकार व्यूपोर्ट के तौर पर तय करें. व्यूपोर्ट तय करने के उदाहरण के लिए, locationBias की जानकारी देखें.

    locationRestriction या locationBias की वैल्यू सबमिट की जा सकती है, लेकिन दोनों नहीं. locationRestriction को उस क्षेत्र के तौर पर देखें जहां नतीजे होने चाहिए और locationBias को उस क्षेत्र के तौर पर देखें जहां नतीजे होने की संभावना है या जहां नतीजे हो सकते हैं.

  • maxResultCount (अब इस्तेमाल में नहीं है)

    इससे हर पेज पर दिखाए जाने वाले नतीजों की संख्या तय होती है. यह संख्या 1 से 20 के बीच हो सकती है. उदाहरण के लिए, maxResultCount की वैल्यू 5 पर सेट करने पर, पहले पेज पर ज़्यादा से ज़्यादा पांच नतीजे दिखेंगे. अगर क्वेरी से और नतीजे मिल सकते हैं, तो रिस्पॉन्स में एक nextPageToken शामिल होता है. अगले पेज को ऐक्सेस करने के लिए, इस nextPageToken को अगले अनुरोध में पास किया जा सकता है.

  • evOptions

    इलेक्ट्रिक वाहन (ईवी) के उपलब्ध चार्जिंग कनेक्टर और चार्जिंग की दरों की पहचान करने के लिए पैरामीटर तय करता है.

    • connectorTypes

      किसी जगह पर उपलब्ध ईवी चार्जिंग कनेक्टर के टाइप के हिसाब से फ़िल्टर करता है. किसी ऐसी जगह को फ़िल्टर कर दिया जाएगा जो किसी भी टाइप के कनेक्टर के साथ काम नहीं करती. ईवी चार्जिंग कनेक्टर के इन टाइप का इस्तेमाल किया जा सकता है: एक साथ AC और DC चार्ज करने वाले चार्जर, Tesla चार्जर, GB/T के मुताबिक चार्जर (चीन में ईवी को तेज़ी से चार्ज करने के लिए), और दीवार पर लगे पावर सॉकेट के चार्जर. ज़्यादा जानकारी के लिए, रेफ़रंस के तौर पर दिया गया दस्तावेज़ देखें.

    • minimumChargingRateKw

      ईवी चार्जिंग की कम से कम दर के हिसाब से जगहों को फ़िल्टर करता है. यह दर किलोवॉट (कि॰वॉ॰) में होती है. जिन जगहों पर कमरे के लिए तय की गई कीमत, कमरे के लिए तय की गई कम से कम कीमत से कम है उन्हें फ़िल्टर कर दिया जाता है. उदाहरण के लिए, कम से कम 10 kW की चार्जिंग दर वाले ईवी चार्जर ढूंढने के लिए, इस पैरामीटर को "10" पर सेट किया जा सकता है.

  • minRating

    इससे नतीजों में सिर्फ़ वे ही जगहें दिखती हैं जिनकी औसत उपयोगकर्ता रेटिंग, इस सीमा से ज़्यादा या उसके बराबर हो. वैल्यू 0.0 और 5.0 के बीच होनी चाहिए. साथ ही, वैल्यू में 0.5 की बढ़ोतरी होनी चाहिए. उदाहरण के लिए: 0, 0.5, 1.0, ... , 5.0. वैल्यू को सबसे नज़दीकी 0.5 तक राउंड अप किया जाता है. उदाहरण के लिए, 0.6 की वैल्यू से, 1.0 से कम रेटिंग वाले सभी नतीजे हट जाते हैं.

  • openNow

    अगर true है, तो क्वेरी भेजे जाने के समय, सिर्फ़ उन जगहों की जानकारी दिखाएं जो कारोबार के लिए खुली हैं. अगर false है, तो सभी कारोबारों की जानकारी दिखाएं. इससे कोई फ़र्क़ नहीं पड़ता कि वे खुले हैं या नहीं. इस पैरामीटर को false पर सेट करने पर, Google Places के डेटाबेस में ऐसी जगहों की जानकारी दिखती है जिनके खुले होने का समय नहीं बताया गया है.

  • pageSize

    इससे हर पेज पर दिखाए जाने वाले नतीजों की संख्या तय होती है. यह संख्या 1 से 20 के बीच हो सकती है. उदाहरण के लिए, pageSize की वैल्यू 5 पर सेट करने पर, पहले पेज पर ज़्यादा से ज़्यादा पांच नतीजे दिखेंगे. अगर क्वेरी से और नतीजे मिल सकते हैं, तो रिस्पॉन्स में एक nextPageToken शामिल होता है. अगले पेज को ऐक्सेस करने के लिए, इस nextPageToken को अगले अनुरोध में पास किया जा सकता है.

  • pageToken

    पिछले पेज के रिस्पॉन्स बॉडी से nextPageToken की जानकारी देता है.

  • priceLevels

    खोज को सिर्फ़ उन जगहों तक सीमित करें जिन्हें किराये के हिसाब से मार्क किया गया है. डिफ़ॉल्ट रूप से, सभी कीमत के लेवल चुने जाते हैं.

    PriceLevel से तय की गई एक या उससे ज़्यादा वैल्यू का ऐरे डालें.

    उदाहरण के लिए:

    "priceLevels":["PRICE_LEVEL_INEXPENSIVE", "PRICE_LEVEL_MODERATE"]
  • rankPreference

    इससे पता चलता है कि क्वेरी के टाइप के आधार पर, जवाब में नतीजों की रैंकिंग कैसे की जाती है:

    • "न्यूयॉर्क शहर के रेस्टोरेंट" जैसी कैटगरी वाली क्वेरी के लिए, RELEVANCE (खोज के हिसाब से नतीजों को रैंक करना) डिफ़ॉल्ट तौर पर लागू होता है. rankPreference को RELEVANCE या DISTANCE (नतीजों को दूरी के हिसाब से रैंक करें) पर सेट किया जा सकता है.
    • "माउंटेन व्यू, कैलिफ़ोर्निया" जैसी कैटगरी में न आने वाली क्वेरी के लिए, हमारा सुझाव है कि आप rankPreference को सेट न करें.
  • regionCode

    रिस्पॉन्स को फ़ॉर्मैट करने के लिए इस्तेमाल किया जाने वाला क्षेत्र कोड. इसे दो वर्णों वाले CLDR कोड की वैल्यू के तौर पर तय किया जाता है. इस पैरामीटर का असर खोज के नतीजों पर भी हो सकता है. कोई डिफ़ॉल्ट वैल्यू नहीं है.

    अगर रिस्पॉन्स में formattedAddress फ़ील्ड में मौजूद देश का नाम, regionCode से मेल खाता है, तो formattedAddress से देश कोड हटा दिया जाता है. इस पैरामीटर का adrFormatAddress पर कोई असर नहीं पड़ता. adrFormatAddress में, उपलब्ध होने पर देश का नाम हमेशा शामिल होता है. इसके अलावा, shortFormattedAddress में यह नाम कभी शामिल नहीं होता.

    ज़्यादातर CLDR कोड, ISO 3166-1 कोड से मिलते-जुलते होते हैं. हालांकि, कुछ कोड अलग होते हैं. उदाहरण के लिए, यूनाइटेड किंगडम का सीसीटीएलडी "uk" (.co.uk) है, जबकि उसका आईएसओ 3166-1 कोड "gb" है. तकनीकी तौर पर, यह कोड "यूनाइटेड किंगडम ऑफ़ ग्रेट ब्रिटेन ऐंड नॉर्दन आयरलैंड" इकाई के लिए है. लागू कानून के आधार पर, इस पैरामीटर से नतीजों पर असर पड़ सकता है.

  • strictTypeFiltering

    इसका इस्तेमाल includedType पैरामीटर के साथ किया जाता है. true पर सेट होने पर, सिर्फ़ ऐसी जगहें दिखाई जाती हैं जो includeType में बताए गए टाइप से मेल खाती हैं. अगर यह वैल्यू 'गलत' है, तो जवाब में ऐसी जगहें शामिल हो सकती हैं जो बताए गए टाइप से मेल नहीं खाती हैं.

टेक्स्ट से खोजने के उदाहरण

क्वेरी स्ट्रिंग की मदद से कोई जगह ढूंढना

नीचे दिए गए उदाहरण में, "सिडनी, ऑस्ट्रेलिया में स्पाइसी शाकाहारी खाना" के लिए टेक्स्ट खोज का अनुरोध दिखाया गया है:

curl -X POST -d '{
  "textQuery" : "Spicy Vegetarian Food in Sydney, Australia"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.displayName,places.formattedAddress' \
'https://places.googleapis.com/v1/places:searchText'

ध्यान दें कि X-Goog-FieldMask हेडर से पता चलता है कि रिस्पॉन्स में ये डेटा फ़ील्ड शामिल हैं: places.displayName,places.formattedAddress. इसके बाद, जवाब इस फ़ॉर्मैट में दिखता है:

{
  "places": [
    {
      "formattedAddress": "367 Pitt St, Sydney NSW 2000, Australia",
      "displayName": {
        "text": "Mother Chu's Vegetarian Kitchen",
        "languageCode": "en"
      }
    },
    {
      "formattedAddress": "175 First Ave, Five Dock NSW 2046, Australia",
      "displayName": {
        "text": "Veggo Sizzle - Vegan & Vegetarian Restaurant, Five Dock, Sydney",
        "languageCode": "en"
      }
    },
    {
      "formattedAddress": "29 King St, Sydney NSW 2000, Australia",
      "displayName": {
        "text": "Peace Harmony",
        "languageCode": "en"
      }
    },
    ...
  ]
}

ज़्यादा जानकारी दिखाने के लिए, फ़ील्ड मास्क में ज़्यादा डेटा टाइप जोड़ें. उदाहरण के लिए, जवाब में रेस्टोरेंट का टाइप और वेब पता शामिल करने के लिए, places.types,places.websiteUri जोड़ें:

curl -X POST -d '{
  "textQuery" : "Spicy Vegetarian Food in Sydney, Australia"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.types,places.websiteUri' \
'https://places.googleapis.com/v1/places:searchText'

जवाब अब इस फ़ॉर्मैट में है:

{
  "places": [
    {
      "types": [
        "vegetarian_restaurant",
        "vegan_restaurant",
        "chinese_restaurant",
        "restaurant",
        "food",
        "point_of_interest",
        "establishment"
      ],
      "formattedAddress": "367 Pitt St, Sydney NSW 2000, Australia",
      "websiteUri": "http://www.motherchusvegetarian.com.au/",
      "displayName": {
        "text": "Mother Chu's Vegetarian Kitchen",
        "languageCode": "en"
      }
    },
    {
      "types": [
        "vegan_restaurant",
        "thai_restaurant",
        "vegetarian_restaurant",
        "indian_restaurant",
        "italian_restaurant",
        "american_restaurant",
        "restaurant",
        "food",
        "point_of_interest",
        "establishment"
      ],
      "formattedAddress": "175 First Ave, Five Dock NSW 2046, Australia",
      "websiteUri": "http://www.veggosizzle.com.au/",
      "displayName": {
        "text": "Veggo Sizzle - Vegan & Vegetarian Restaurant, Five Dock, Sydney",
        "languageCode": "en"
      }
    },
    ...
  ]
}

कीमत के लेवल के हिसाब से जगहें फ़िल्टर करना

priceLevel विकल्प का इस्तेमाल करके, नतीजों को उन रेस्टोरेंट के हिसाब से फ़िल्टर करें जिन्हें सस्ते या थोड़े महंगे के तौर पर दिखाया गया है:

curl -X POST -d '{
  "textQuery" : "Spicy Vegetarian Food in Sydney, Australia",
  "priceLevels":["PRICE_LEVEL_INEXPENSIVE", "PRICE_LEVEL_MODERATE"]
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel' \
'https://places.googleapis.com/v1/places:searchText'

इस उदाहरण में, X-Goog-FieldMask हेडर का इस्तेमाल करके भी रिस्पॉन्स में places.priceLevel डेटा फ़ील्ड जोड़ा गया है, ताकि यह इस फ़ॉर्म में हो:

{
  "places": [
    {
      "formattedAddress": "367 Pitt St, Sydney NSW 2000, Australia",
      "priceLevel": "PRICE_LEVEL_MODERATE",
      "displayName": {
        "text": "Mother Chu's Vegetarian Kitchen",
        "languageCode": "en"
      }
    },
    {
      "formattedAddress": "115 King St, Newtown NSW 2042, Australia",
      "priceLevel": "PRICE_LEVEL_MODERATE",
      "displayName": {
        "text": "Green Mushroom",
        "languageCode": "en"
      }
    },
    ...
  ]
}

अपनी खोज को बेहतर बनाने के लिए, includedType, minRating, rankPreference, openNow, और ज़रूरी नहीं पैरामीटर में बताए गए अन्य पैरामीटर जैसे अतिरिक्त विकल्प जोड़ें.

किसी खास इलाके में खोजने की सुविधा

किसी इलाके के हिसाब से खोज करने के लिए, locationRestriction या locationBias का इस्तेमाल करें, दोनों का नहीं. locationRestriction को उस इलाके के तौर पर देखें जहां नतीजे होने चाहिए. वहीं, locationBias को उस इलाके के तौर पर देखें जहां नतीजे होने चाहिए, लेकिन वे उस इलाके से बाहर भी हो सकते हैं.

locationRestriction का इस्तेमाल करके, किसी इलाके पर पाबंदी लगाना

locationRestriction पैरामीटर का इस्तेमाल करके, क्वेरी के नतीजों को किसी तय इलाके तक सीमित करें. अनुरोध के मुख्य हिस्से में, low और high अक्षांश और देशांतर की वैल्यू दें. इससे क्षेत्र की सीमा तय होती है.

नीचे दिए गए उदाहरण में, न्यूयॉर्क शहर में "शाकाहारी भोजन" के लिए टेक्स्ट खोज का अनुरोध दिखाया गया है. इस अनुरोध से, सिर्फ़ उन जगहों के लिए पहले 10 नतीजे मिलते हैं जो खुली हैं.

curl -X POST -d '{
  "textQuery" : "vegetarian food",
  "pageSize" : "10",
  "locationRestriction": {
    "rectangle": {
      "low": {
        "latitude": 40.477398,
        "longitude": -74.259087
      },
      "high": {
        "latitude": 40.91618,
        "longitude": -73.70018
      }
    }
  }
}' \
  -H 'Content-Type: application/json' \
  -H 'X-Goog-Api-Key: API_KEY' \
  -H 'X-Goog-FieldMask: places.id,places.formattedAddress' \
  'https://places.googleapis.com/v1/places:searchText'

locationBias का इस्तेमाल करके किसी इलाके को प्राथमिकता देना

नीचे दिए गए उदाहरण में, "शाकाहारी भोजन" के लिए टेक्स्ट सर्च का अनुरोध दिखाया गया है. यह अनुरोध, सैन फ़्रांसिस्को के डाउनटाउन में किसी पॉइंट से 500 मीटर के अंदर की जगह के हिसाब से है. इस अनुरोध से, सिर्फ़ उन जगहों के लिए पहले 10 नतीजे मिलते हैं जो खुली हैं.

curl -X POST -d '{
  "textQuery" : "vegetarian food",
  "openNow": true,
  "pageSize": 10,
  "locationBias": {
    "circle": {
      "center": {"latitude": 37.7937, "longitude": -122.3965},
      "radius": 500.0
    }
  },
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.displayName,places.formattedAddress' \
'https://places.googleapis.com/v1/places:searchText'

कम से कम चार्जिंग दर वाले ईवी चार्जर खोजना

minimumChargingRateKw और connectorTypes का इस्तेमाल करके, ऐसी जगहें खोजें जहां आपके ईवी के साथ काम करने वाले चार्जर उपलब्ध हों.

यहां दिए गए उदाहरण में, माउंटेन व्यू, कैलिफ़ोर्निया में Tesla और J1772 टाइप 1 ईवी चार्जिंग कनेक्टर का अनुरोध दिखाया गया है. इन कनेक्टर की चार्जिंग दर कम से कम 10 किलोवॉट होनी चाहिए. सिर्फ़ चार नतीजे दिखाए जाते हैं.

curl -X POST -d '{
    "textQuery": "EV Charging Station Mountain View",
    "pageSize": 4,
    "evOptions": {
      "minimumChargingRateKw": 10,
      "connectorTypes": ["EV_CONNECTOR_TYPE_J1772","EV_CONNECTOR_TYPE_TESLA"]
    }
  }' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H "X-Goog-FieldMask: places.displayName,places.evChargeOptions" \
'https://places.googleapis.com/v1/places:searchText'

अनुरोध से यह जवाब मिलता है:

{
  "places": [
    {
      "displayName": {
        "text": "EVgo Charging Station",
        "languageCode": "en"
      },
      "evChargeOptions": {
        "connectorCount": 16,
        "connectorAggregation": [
          {
            "type": "EV_CONNECTOR_TYPE_CHADEMO",
            "maxChargeRateKw": 100,
            "count": 8,
            "availableCount": 5,
            "outOfServiceCount": 0,
            "availabilityLastUpdateTime": "2024-01-10T19:10:00Z"
          },
          {
            "type": "EV_CONNECTOR_TYPE_CCS_COMBO_1",
            "maxChargeRateKw": 100,
            "count": 2,
            "availableCount": 2,
            "outOfServiceCount": 0,
            "availabilityLastUpdateTime": "2024-01-10T19:10:00Z"
          },
          {
            "type": "EV_CONNECTOR_TYPE_CCS_COMBO_1",
            "maxChargeRateKw": 350,
            "count": 6,
            "availableCount": 3,
            "outOfServiceCount": 0,
            "availabilityLastUpdateTime": "2024-01-10T19:10:00Z"
          }
        ]
      }
    },
    {
      "displayName": {
        "text": "EVgo Charging Station",
        "languageCode": "en"
      },
      "evChargeOptions": {
        "connectorCount": 6,
        "connectorAggregation": [
          {
            "type": "EV_CONNECTOR_TYPE_CCS_COMBO_1",
            "maxChargeRateKw": 100,
            "count": 4,
            "availableCount": 3,
            "outOfServiceCount": 0,
            "availabilityLastUpdateTime": "2024-01-10T19:10:00Z"
          },
          {
            "type": "EV_CONNECTOR_TYPE_CCS_COMBO_1",
            "maxChargeRateKw": 350,
            "count": 2,
            "availableCount": 0,
            "outOfServiceCount": 2,
            "availabilityLastUpdateTime": "2024-01-10T19:10:00Z"
          }
        ]
      }
    },
    {
      "displayName": {
        "text": "EVgo Charging Station",
        "languageCode": "en"
      },
      "evChargeOptions": {
        "connectorCount": 5,
        "connectorAggregation": [
          {
            "type": "EV_CONNECTOR_TYPE_J1772",
            "maxChargeRateKw": 3.5999999046325684,
            "count": 1,
            "availableCount": 0,
            "outOfServiceCount": 1,
            "availabilityLastUpdateTime": "2024-01-10T19:10:00Z"
          },
          {
            "type": "EV_CONNECTOR_TYPE_CHADEMO",
            "maxChargeRateKw": 50,
            "count": 2,
            "availableCount": 0,
            "outOfServiceCount": 0,
            "availabilityLastUpdateTime": "2024-01-10T19:10:00Z"
          },
          {
            "type": "EV_CONNECTOR_TYPE_CCS_COMBO_1",
            "maxChargeRateKw": 50,
            "count": 2,
            "availableCount": 0,
            "outOfServiceCount": 0,
            "availabilityLastUpdateTime": "2024-01-10T19:10:00Z"
          }
        ]
      }
    },
    {
      "displayName": {
        "text": "Electric Vehicle Charging Station",
        "languageCode": "en"
      },
      "evChargeOptions": {
        "connectorCount": 10,
        "connectorAggregation": [
          {
            "type": "EV_CONNECTOR_TYPE_OTHER",
            "maxChargeRateKw": 210,
            "count": 10
          }
        ]
      }
    }
  ]
}

घर या दुकान पर सेवा देने वाले कारोबार खोजना

includePureServiceAreaBusinesses पैरामीटर का इस्तेमाल करके, ऐसे कारोबारों को खोजें जिनका कोई स्टोर नहीं है. उदाहरण के लिए, मोबाइल सफ़ाई सेवा या फ़ूड ट्रक.

यहां दिए गए उदाहरण में, सैन फ़्रांसिस्को में प्लंबर के लिए किया गया अनुरोध दिखाया गया है:

curl -X POST -d '{
  "textQuery" : "plumber San Francisco",
  "includePureServiceAreaBusinesses": true
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.displayName,places.formattedAddress' \
'https://places.googleapis.com/v1/places:searchText'

जवाब में, सेवा देने के लिए कोई स्टोर न होने पर, कारोबारों को formattedAddress फ़ील्ड शामिल नहीं करना चाहिए:

{
  "places": [
    {
      "formattedAddress": "3450 Sacramento St #204, San Francisco, CA 94118, USA",
      "displayName": {
        "text": "Advanced Plumbing & Drain",
        "languageCode": "en"
      }
    },
    {
      "formattedAddress": "1455 Bancroft Ave, San Francisco, CA 94124, USA",
      "displayName": {
        "text": "Magic Plumbing Heating & Cooling",
        "languageCode": "en"
      }
    },
    /.../
    {
      "displayName": {
        "text": "Starboy Plumbing Inc.",
        "languageCode": "en"
      }
    },
    {
      "formattedAddress": "78 Dorman Ave, San Francisco, CA 94124, USA",
      "displayName": {
        "text": "Cabrillo Plumbing, Heating & Air",
        "languageCode": "en"
      }
    },
    {
      "formattedAddress": "540 Barneveld Ave # D, San Francisco, CA 94124, USA",
      "displayName": {
        "text": "Mr. Rooter Plumbing of San Francisco",
        "languageCode": "en"
      }
    },
    /.../
    {
      "displayName": {
        "text": "Pipeline Plumbing",
        "languageCode": "en"
      }
    },
    {
      "formattedAddress": "350 Bay St #100-178, San Francisco, CA 94133, USA",
      "displayName": {
        "text": "One Source Plumbing and Rooter",
        "languageCode": "en"
      }
    },
    /.../
  ]
}

हर पेज पर दिखाए जाने वाले नतीजों की संख्या तय करना

हर पेज पर दिखाए जाने वाले नतीजों की संख्या तय करने के लिए, pageSize पैरामीटर का इस्तेमाल करें. रिस्पॉन्स बॉडी में मौजूद nextPageToken पैरामीटर, एक टोकन उपलब्ध कराता है. इसका इस्तेमाल, नतीजों के अगले पेज को ऐक्सेस करने के लिए, अगले कॉल में किया जा सकता है.

नीचे दिए गए उदाहरण में, "न्यूयॉर्क में पिज़्ज़ा" के लिए किया गया अनुरोध दिखाया गया है. इसमें हर पेज पर पांच नतीजे दिखाए गए हैं:

 curl -X POST -d '{
  "textQuery": "pizza in New York",
  "pageSize": 5
  }' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H "X-Goog-FieldMask: places.id,nextPageToken" \
'https://places.googleapis.com/v1/places:searchText'
{
  "places": [
    {
      "id": "ChIJifIePKtZwokRVZ-UdRGkZzs"
    },
    {
      "id": "ChIJPxPd_P1YwokRfzLhSiACEoU"
    },
    {
      "id": "ChIJrXXKn5NZwokR78g0ipCnY60"
    },
    {
      "id": "ChIJ6ySICVZYwokR9rIK8HjXhzE"
    },
    {
      "id": "ChIJ6xvs94VZwokRnT1D2lX2OTw"
    }
  ],
  "nextPageToken": "AeCrKXsZWzNVbPzO-MRWPu52jWO_Xx8aKwOQ69_Je3DxRpfdjClq8Ekwh3UcF2h2Jn75kL6PtWLGV4ecQri-GEUKN_OFpJkdVc-JL4Q"
}

नतीजों के अगले पेज को ऐक्सेस करने के लिए, अनुरोध के मुख्य हिस्से में pageToken का इस्तेमाल करके nextPageToken को पास करें:

 curl -X POST -d '{
  "textQuery": "pizza in New York",
  "pageSize": 5,
  "pageToken": "AeCrKXsZWzNVbPzO-MRWPu52jWO_Xx8aKwOQ69_Je3DxRpfdjClq8Ekwh3UcF2h2Jn75kL6PtWLGV4ecQri-GEUKN_OFpJkdVc-JL4Q"
  }' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H "X-Goog-FieldMask: places.id,nextPageToken" \
'https://places.googleapis.com/v1/places:searchText'
{
  "places": [
    {
      "id": "ChIJL-LN1N1ZwokR8K2jACu6Ydw"
    },
    {
      "id": "ChIJjaD94kFZwokR-20CXqlpy_4"
    },
    {
      "id": "ChIJ6ffdpJNZwokRmcafdROM5q0"
    },
    {
      "id": "ChIJ8Q2WSpJZwokRQz-bYYgEskM"
    },
    {
      "id": "ChIJ8164qwFZwokRhplkmhvq1uE"
    }
  ],
  "nextPageToken": "AeCrKXvPd6uUy-oj96W2OaqEe2pUD8QTxOM8-sKfUcFsC9t2Wey5qivrKGoGSxcZnyc7RPmaFfAktslrKbUh31ZDTkL0upRmaxA7c_c"
}
दिखाता है.

इसे आज़माएं!

एपीआई एक्सप्लोरर की मदद से, सैंपल अनुरोध किए जा सकते हैं, ताकि आपको एपीआई और एपीआई के विकल्पों के बारे में जानकारी मिल सके.

  1. पेज की दाईं ओर मौजूद, एपीआई आइकॉन एपीआई एक्सप्लोरर को बड़ा करें. को चुनें.

  2. इसके अलावा, स्टैंडर्ड पैरामीटर दिखाएं को बड़ा करें और fields पैरामीटर को फ़ील्ड मास्क पर सेट करें.

  3. अनुरोध के मुख्य हिस्से में बदलाव करें. हालांकि, ऐसा करना ज़रूरी नहीं है.

  4. लागू करें बटन चुनें. पॉप-अप डायलॉग बॉक्स में, वह खाता चुनें जिसका इस्तेमाल करके आपको अनुरोध करना है.

  5. एपीआई एक्सप्लोरर पैनल में, एपीआई एक्सप्लोरर विंडो को बड़ा करने के लिए, बड़ा करें आइकॉन, एपीआई एक्सप्लोरर को बड़ा करें. चुनें.