परिचय
टेक्स्ट खोज (नई सुविधा) किस��� स्ट्रिंग के आधार पर, जगहों के एक सेट के बारे में जानकारी देती है. उदाहरण के लिए, "नई दिल्ली में पिज़्ज़ा" या "ओटावा के आस-पास जूते की दुकानें" या "123 मेन स्ट्रीट". इसके बाद, सेवा टेक्स्ट स्ट्रिंग और सेट की गई किसी भी जगह के हिसाब से, जगहों की सूची दिखाती है.
यह सेवा, खास तौर पर ऑटोमेटेड सिस्टम में अस्पष्ट पते की क्वेरी बनाने के लिए फ़ायदेमंद है. साथ ही, स्ट्रिंग के पते वाले कॉम्पोनेंट के अलावा अन्य कॉम्पोनेंट, कारोबारों के साथ-साथ पतों से भी मेल खा सकते हैं. पते के बारे में की गई ऐसी क्वेरी के उदाहरण यहां दिए गए हैं जिनमें साफ़ तौर पर जानकारी नहीं दी गई है: पते का फ़ॉर्मैट सही नहीं है या ऐसे अनुरोध किए गए हैं जिनमें पते के अलावा अन्य जानकारी भी शामिल है. जैसे, कारोबार के नाम. नीचे दी गई टेबल में पहले दो उदाहरणों जैसे अनुरोधों के लिए, कोई नतीजा नहीं मिल सकता. ऐसा तब तक होता है, जब तक कोई जगह की जानकारी सेट न की गई हो. जैसे, क्षेत्र, जगह की पाबंदी या जगह के हिसाब से खोज के नतीजे.
"10 High Street, UK" या "123 Main Street, US" | यूके में कई "हाई स्ट्रीट" हैं; अमेरिका में कई "मेन स्ट्रीट" हैं. जगह की जानकारी के हिसाब से खोज के नतीजे फ़िल्टर करने की सुविधा चालू न होने पर, क्वेरी से सही नतीजे नहीं मिलते. |
"ChainRestaurant New York" | न्यूयॉर्क में "ChainRestaurant" की कई जगहें; सड़क का पता या सड़क का नाम भी नहीं दिया गया है. |
"10 High Street, Escher UK" या "123 Main Street, Pleasanton US" | यूके के एशर शहर में सिर्फ़ एक "हाई स्ट्रीट" है. अमेरिका के प्लिज़ेंटन, कैलिफ़ोर्निया शहर में सिर्फ़ एक "मेन स्ट्रीट" है. |
"UniqueRestaurantName New York" | न्यूयॉर्क में इस नाम का सिर्फ़ एक कारोबार है. इसलिए, कारोबार की पहचान करने के लिए सड़क का पता देने की ज़रूरत नहीं है. |
"न्यूयॉर्क में पिज़्ज़ा रेस्टोरेंट" | इस क्वेरी में, जगह के हिसाब से पाबंदी शामिल है. साथ ही, "पिज़्ज़ा रेस्टोरेंट" एक तय क�� गई जगह का टाइप है. यह कई नतीजे दिखाता है. |
"+1 514-670-8700" | इस क्वेरी में एक फ़ोन नंबर शामिल है. यह उस फ़ोन नंबर से जुड़े कई जगहों के नतीजे दि��ाता है. |
एपीआई एक्सप्लोरर की मदद से, लाइव अनुरोध किए जा सकते हैं. इससे आपको एपीआई और एपीआई के विकल्पों के बारे में जानकारी मिलती है:
टेक्स्ट सर्च (नई सुविधा) के अनुरोध
टेक्स्ट सर्च (नई) सुविधा के लिए किया गया अनुरोध, इस तरह का एचटीटीपी POST अनुरोध होता है:
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
. जगह के नाम को टेक्स्ट के तौर पर ऐक्सेस करने के लिए, Pro SKU मेंplaces.displayName
का इस्तेमाल करें.इन फ़ील्ड से Text Search Pro SKU ट्रिगर होता है:
places.accessibilityOptions
places.addressComponents
places.addressDescriptor
*
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.postalAddress
places.primaryType
places.primaryTypeDisplayName
places.pureServiceAreaBusiness
places.shortFormattedAddress
places.subDestinations
places.types
places.utcOffsetMinutes
places.viewport
* पता बताने वाले शब्दों का इस्तेमाल करने की सुविधा, भारत में रहने वाले खरीदारों के लिए आम तौर पर उपलब्ध है. हालांकि, अन्य देशों में यह सुविधा एक्सपेरिमेंट के तौर पर उपलब्ध है.
**places.googleMapsLinks
फ़ील्ड, प्री-जीए प्रीव्यू स्टेज में है. इसका इस्तेमाल करने के लिए कोई शुल्क नहीं लिया जाता. इसका मतलब है कि प्रीव्यू के दौरान, बिलिंग $0 होती है.इन फ़ील्ड से Text Search Enterprise SKU ट्रिगर होता है:
places.currentOpeningHours
places.currentSecondaryOpeningHours
places.internationalPhoneNumber
places.nationalPhoneNumber
places.priceLevel
places.priceRange
places.rating
places.regularOpeningHours
places.regularSecondaryOpeningHours
places.userRatingCount
places.websiteUri
इन फ़ील्ड से Text Search Enterprise + Atmosphere SKU ट्रिगर होता है:
places.allowsDogs
places.curbsidePickup
places.delivery
places.dineIn
places.editorialSummary
places.evChargeAmenitySummary
places.evChargeOptions
places.fuelOptions
places.generativeSummary
places.goodForChildren
places.goodForGroups
places.goodForWatchingSports
places.liveMusic
places.menuForChildren
places.neighborhoodSummary
places.parkingOptions
places.paymentOptions
places.outdoorSeating
places.reservable
places.restroom
places.reviews
places.reviewSummary
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"
टेक्स्ट खोज (नई सुविधा) में, कुछ क्वेरी के लिए टाइप फ़िल्टरिंग लागू होती है. यह इस बात पर निर्भर करती है कि यह सुविधा लागू हो सकती है या नहीं. उदाहरण के लिए, हो सकता है कि टाइप फ़िल्टर करने की सुविधा, किसी खास पते ("123 मेन स्ट्रीट") के लिए की गई क्वेरी पर लागू न हो. हालांकि, यह सुविधा कैट��री के हिसाब से की गई क्वेरी ("आस-पास की दुकानें" या "शॉपिंग मॉल") पर लगभग हमेशा लागू होती है.
����ी ����वेरी पर टाइप फ़िल्टरिंग लागू करने के लिए,
strictTypeFiltering
कोtrue
पर सेट करें.-
includePureServiceAreaBusinesses
true
पर सेट होने पर, जवाब में ऐसे कारोबार शामिल होते हैं जो ग्राहकों को सीधे तौर पर सेवाएं देते हैं या उनसे संपर्क करते हैं. हालांकि, उनके पास कोई ऐसी जगह नहीं होती जहां ग्राहक पहुंच सकें. अगर इसेfalse
पर सेट किया जाता है, तो एपीआई सिर्फ़ उन कारोबारों की जानकारी दिखाता है जिनकी कोई तय जगह हो. languageCode
वह भाषा जिसमें नतीजे दिखाने हैं.
- इस्तेमाल की जा सकने वाली भाषाओं की सूची देखें. Google, इस सुविधा के लिए उपलब्ध भाषाओं को अक्सर अपडेट करता रहता है. इसलिए, हो सकता है कि इस सूची में पूरी जानकारी शामिल न हो.
-
अगर
languageCode
नहीं दिया गया है, तो एपीआई डिफ़ॉल्ट रूप सेen
पर सेट हो जाता है. अगर आपने अमान्य भाषा कोड डाला है, तो एपीआईINVALID_ARGUMENT
गड़बड़ी का मैसेज दिखाता है. - एपीआई, मोहल्ले का ऐसा पता देने की पूरी कोशिश करता है जिसे उपयोगकर्ता और स्थानीय लोग, दोनों पढ़ सकें. इस लक्ष्य को पूरा करने के लिए, यह स्थानीय भाषा में सड़क के पते दिखाता है. अगर ज़रूरी हो, तो यह पते को ऐसी स्क्रिप्ट में लिप्यंतरित करता है जिसे उपयोगकर्ता पढ़ सकता है. ऐसा करते समय, यह उपयोगकर्ता की पसंदीदा भाषा का ध्यान रखता है. अन्य सभी पते, चुनी गई भाषा में दिखाए जाते हैं. पते के सभी कॉम्��ोनेंट, एक ही भाषा में दिखाए जाते हैं. यह भाषा, पहले कॉम्पोनेंट से चुनी जाती है.
- अगर नाम आपकी पसंदीदा भाषा में उपलब्ध नहीं है, तो एपीआई सबसे मिलते-जुलते नाम का इस्तेमाल करता है.
- पसंदीदा भाषा का असर, एपीआई से मिले नतीजों के सेट और उनके क्रम पर पड़ता है. जियोकोडर, भाषा के हिसाब से शॉर्ट फ़ॉर्म का अलग-अलग मतलब निकालता है. जैसे, सड़क के टाइप के लिए इस्तेमाल किए गए शॉर्ट फ़ॉर्म या ऐसे समानार्थी शब्द जो एक भाषा में मान्य हो सकते हैं, लेकिन दूसरी भाषा में नहीं.
locationBias
खोजने के लिए कोई इलाका तय करता है. यह जगह, खोज के नतीजों को प्रभावित करती है. इसका मतलब है कि खोज के नतीजे, बताई गई जगह के आस-पास के इलाकों के हिसाब से दिखाए जा सकते हैं. इनमें बताई गई जगह से बाहर के इलाके के नतीजे भी शामिल हो सकते हैं.
locationRestriction
याlocationBias
की जानकारी दी जा सकती है, लेकिन दोनों की नहीं.locationRestriction
को उस क्षेत्र के तौर पर समझें जहां नतीजे दिखने चाहिए. वहीं,locationBias
को उस क्षेत्र के तौर पर समझें जहां नतीजे दिखने की संभावना है. हालांकि, नतीजे इस क्षेत्र के बाहर भी दिख सकते हैं.इलाके को आयत के आकार का व्यूपोर्ट या सर्कल के तौर पर तय करें.
किसी सर्कल को उसके सेंटर पॉइंट और मीटर में दी गई त्रिज्या से तय किया जाता है. रेडियस, 0.0 और 50000.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
शामिल होता है. इसका इस्तेमाल करके, अगले पेज को ऐक्सेस करने के लिए बाद में अनुरोध किया जा सकता है. evOptions
इससे इलेक्ट्रिक वाहन (ईवी) के लिए उपलब्ध चार्जिंग कनेक्टर और चार्जिंग रेट की पहचान करने के लिए पैरामीटर तय किए जाते हैं.
connectorTypes
इस फ़िल्टर से, किसी जगह पर उपलब्ध ईवी चार्जिंग कनेक्टर के टाइप के हिसाब से नतीजे मिलते हैं. ऐसी जगहें जहां किसी भी तरह के कनेक्टर काम नहीं करते उन्हें फ़िल्टर कर दिया जाएगा. ईवी चार्जिंग कनेक्टर के इन टाइप के लिए सहायता उपलब्ध है: कंबाइंड (एसी और डीसी) चार्जर, Tesla चार्जर, GB/T के मुताबिक बने चार्जर (चीन में ईवी को तेज़ी से चार्ज करने के लिए), और वॉल आउटलेट चार्जर. ज़्यादा जानकारी के लिए, रेफ़रंस दस्तावेज़ देखें.
- साथ काम करने वाले किसी कनेक्टर के लिए नतीजों को फ़िल्टर करने के लिए,
connectorTypes
को उस वैल्यू पर सेट करें. उदाहरण के लिए, J1772 टाइप 1 कनेक्टर ढूंढने के लिए,connectorTypes
कोEV_CONNECTOR_TYPE_J1772
पर सेट करें. - इस्तेमाल नहीं किए जा सकने वाले कनेक्टर के लिए, नतीजों को फ़िल्टर करने के लिए
connectorTypes
कोEV_CONNECTOR_TYPE_OTHER
पर सेट करें. - अगर आपको किसी ऐसे कनेक्टर टाइप के लिए नतीजे फ़िल्टर करने हैं जो वॉल आउटलेट है, तो
connectorTypes
कोEV_CONNECTOR_TYPE_UNSPECIFIED_WALL_OUTLET
पर सेट करें. - किसी भी कनेक्टर टाइप के लिए नतीजों को फ़िल्टर करने के लिए,
connectorTypes
कोEV_CONNECTOR_TYPE_UNSPECIFIED
पर सेट करें याconnectorTypes
के लिए कोई वैल्यू सेट न करें.
- साथ काम करने वाले किसी कनेक्टर के लिए नतीजों को फ़िल्टर करने के लिए,
minimumChargingRateKw
यह फ़िल्टर, किलोवॉट (kW) में ईवी चार्जिंग की सबसे कम दर के हिसाब से जगहों को फ़िल्टर करता है. जिन जगहों पर चार्जिंग की दर, कम से कम दर से कम है उन्हें फ़िल्टर कर दिया जाता है. उदाहरण के लिए, अगर आपको कम से कम 10 किलोवॉट की चार्जिंग स्पीड वाले ईवी चार्जर ढूंढने हैं, तो इस पैरामीटर को "10" पर सेट करें.
minRating
नतीजों को सिर्फ़ उन जगहों तक सीमित करता है जिनकी औसत उपयोगकर्ता रेटिंग, इस सीमा से ज़्यादा या इसके बराबर है. वैल्यू, 0.0 और 5.0 के बीच होनी चाहिए. हालांकि, इन दोनों में से भी कोई संख्या हो सकती है. साथ ही, वैल्यू में 0.5 का अंतर होना चाहिए. उदाहरण के लिए: 0, 0.5, 1.0, ... , 5.0. वैल्यू को निकटतम 0.5 तक पूर्णांक बनाया जाता है. उदाहरण के लिए, 0.6 की वैल्यू से, एक से कम रेटिंग वाले सभी नतीजे हट जाते हैं.
openNow
अगर
true
, तो सिर्फ़ उन जगहों की जानकारी दिखाओ जो क्वेरी भेजे जाने के समय कारोबार के लिए खुली हों. अगरfalse
है, तो खुले होने के स्टेटस के बावजूद सभी कारोबारों की जानकारी दिखाएं. अगर आपने इस पैरामीटर कोfalse
पर सेट किया है, ��ो Google Places डेटाबेस में उन जगहों की जानकारी भी दिखाई जाएगी जिनके खुलने का समय नहीं दिया गया है.pageSize
इससे हर पेज पर दिखाए जाने वाले नतीजों की संख्या (1 से 20 के बीच) तय की जाती है. उदाहरण के लिए,
pageSize
की वैल्यू 5 सेट करने पर, पहले पेज पर ज़्यादा से ज़्यादा पांच नतीजे दिखेंगे. अगर क्वेरी के ज़्यादा नतीजे उपलब्ध हैं, तो जवाब में एकnextPageToken
शामिल होता है. इसका इस्तेमाल करके, अगले पेज को ऐक्सेस करने के लिए बाद में अनुरोध किया जा सकता है.pageToken
यह पिछले पेज के रिस्पॉन्स बॉडी से
nextPageToken
तय करता है.-
priceLevels
खोज के नतीजों में सिर्फ़ उन जगहों को दिखाएं जिनकी कीमत तय सीमा के अंदर है. डिफ़ॉल्ट रूप से, सभी प्राइस लेवल चुने जाते हैं.
इन जगहों के लिए, कीमत के लेवल की जानकारी मिल सकती है:
अगर
priceLevels
को चुना जाता है, तो जवाब में उन जगहों को शामिल नहीं किया जाएगा जिनके टाइप काम नहीं करते.PriceLevel
से तय की गई एक या उससे ज़्यादा वैल्यू का ऐरे डालें.उदाहरण के लिए:
"priceLevels":["PRICE_LEVEL_INEXPENSIVE", "PRICE_LEVEL_MODERATE"]
rankPreference
इससे यह तय होता है कि क्वेरी के टाइप के आधार पर, जवाब में नतीजों को कैसे रैंक किया जाता है:
- "न्यूयॉर्क शहर के रेस्टोरेंट" जैसी कैटगरी वाली क्वेरी के लिए,
RELEVANCE
(खोज के नतीजों को क्वेरी के हिसाब से रैंक करना) डिफ़ॉल्ट रूप से चालू होता है.rankPreference
कोRELEVANCE
याDISTANCE
(दूरी के हिसाब से नतीजों को रैंक करें) पर सेट किया जा सकता है. - "माउंटेन व्यू, कैलिफ़ोर्निया" जैसी कैटगरी से जुड़ी क्वेरी के लिए, हमारा सुझाव है कि आप
rankPreference
को सेट न करें.
- "न्यूयॉर्क शहर के रेस्टोरेंट" जैसी कैटगरी वाली क्वेरी के लिए,
regionCode
जवाब को फ़ॉर्मैट करने के लिए इस्तेमाल किया गया क्षेत्र कोड. इसे दो वर्णों वाले CLDR कोड वैल्यू के तौर पर तय किया जाता है. इस पैरामीटर का असर, खोज नतीजों पर भी पड़ सकता है. कोई डिफ़ॉल्ट वैल्यू नहीं है.
अगर जवाब में मौजूद
formattedAddress
फ़ील्ड में दिए गए देश का नाम,regionCode
से मेल खाता है, तोformattedAddress
से देश का कोड हटा दिया जाता है. इस पैरामीटर काadrFormatAddress
पर कोई असर नहीं पड़ता. इसमें देश का नाम हमेशा शामिल होता है. हालांकि,shortFormattedAddress
में देश का नाम कभी शामिल नहीं होता.ज़्यादातर CLDR कोड, ISO 3166-1 कोड के जैसे ही होते हैं. हालांकि, कुछ मामलों में ये अलग होते हैं. उदाहरण के लिए, यूनाइटेड किंगडम का ccTLD "uk" (.co.uk) है, जबकि इसका ISO 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
हेडर से पता चलता है कि response में ये डेटा फ़ील्ड शामिल हैं: 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
डेटा फ़ील्ड को response में जोड़ा गया है, ताकि यह इस फ़ॉर्म में हो:
{ "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" }
Address descriptors पाना
पते के बारे में बताने वाले शब्दों से, किसी जगह की लोकेशन के बारे में जानकारी मिलती है. इसमें आस-पास के लैंडमार्क और इलाके शामिल हैं.
नीचे दिए गए उदाहरण में, सैन होज़े में किसी मॉल के आस-पास की जगहों के लिए, टेक्स्ट सर्च (नया) अनुरोध दिखाया गया है. इस उदाहरण में, फ़ील्ड मास्क में addressDescriptors
शामिल किया गया है:
curl -X POST -d '{ "textQuery": "clothes", "maxResultCount": 5, "locationBias": { "circle": { "center": { "latitude": 37.321328, "longitude": -121.946275 } } }, "rankPreference":"RANK_PREFERENCE_UNSPECIFIED" }' \ -H 'Content-Type: application/json' \ -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: places.displayName,places.addressDescriptor" \ https://places.googleapis.com/v1/places:searchText
जवाब में, अनुरोध में बताई गई जगह की जानकारी शामिल होती है. साथ ही, आस-पास के लैंडमार्क की सूची और जगह से उनकी दूरी की जानकारी भी शामिल होती है. इसके अलावा, जगहों की सूची और जगह से उनके जुड़ाव की जानकारी भी शामिल होती है:
{ "places": [ { "displayName": { "text": "Urban Outfitters", "languageCode": "en" }, "addressDescriptor": { "landmarks": [ { "name": "places/ChIJVVVVUB7Lj4ARXyb4HFVDV8s", "placeId": "ChIJVVVVUB7Lj4ARXyb4HFVDV8s", "displayName": { "text": "Westfield Valley Fair", "languageCode": "en" }, "types": [ "clothing_store", "department_store", "establishment", "food", "movie_theater", "point_of_interest", "restaurant", "shoe_store", "shopping_mall", "store" ], "spatialRelationship": "WITHIN", "straightLineDistanceMeters": 133.72855 }, { "name": "places/ChIJ62_oCR7Lj4AR_MGWkSPotD4", "placeId": "ChIJ62_oCR7Lj4AR_MGWkSPotD4", "displayName": { "text": "Nordstrom", "languageCode": "en" }, "types": [ "clothing_store", "department_store", "establishment", "point_of_interest", "shoe_store", "store" ], "straightLineDistanceMeters": 250.99161 }, { "name": "places/ChIJ8WvuSB7Lj4ARFyHppkxDRQ4", "placeId": "ChIJ8WvuSB7Lj4ARFyHppkxDRQ4", "displayName": { "text": "Macy's", "languageCode": "en" }, "types": [ "clothing_store", "department_store", "establishment", "point_of_interest", "store" ], "straightLineDistanceMeters": 116.24196 }, { "name": "places/ChIJ9d3plB_Lj4ARzyaU5bn80WY", "placeId": "ChIJ9d3plB_Lj4ARzyaU5bn80WY", "displayName": { "text": "Bank of America Financial Center", "languageCode": "en" }, "types": [ "bank", "establishment", "finance", "point_of_interest" ], "straightLineDistanceMeters": 121.61515 }, { "name": "places/ChIJaXCjxvXLj4ARCPmQpvJ52Lw", "placeId": "ChIJaXCjxvXLj4ARCPmQpvJ52Lw", "displayName": { "text": "Bloomingdale's", "languageCode": "en" }, "types": [ "clothing_store", "department_store", "establishment", "furniture_store", "home_goods_store", "point_of_interest", "shoe_store", "store" ], "straightLineDistanceMeters": 81.32396 } ], "areas": [ { "name": "places/ChIJb3F-EB7Lj4ARnHApQ_Hu1gI", "placeId": "ChIJb3F-EB7Lj4ARnHApQ_Hu1gI", "displayName": { "text": "Westfield Valley Fair", "languageCode": "en" }, "containment": "WITHIN" }, { "name": "places/ChIJXYuykB_Lj4AR1Ot8nU5q26Q", "placeId": "ChIJXYuykB_Lj4AR1Ot8nU5q26Q", "displayName": { "text": "Valley Fair", "languageCode": "en" }, "containment": "WITHIN" }, { "name": "places/ChIJtYoUX2DLj4ARKoKOb1G0CpM", "placeId": "ChIJtYoUX2DLj4ARKoKOb1G0CpM", "displayName": { "text": "Central San Jose", "languageCode": "en" }, "containment": "WITHIN" } ] } }, /.../ ] }
इसे आज़माएं!
एपीआई एक्सप्लोरर की मदद से, सैंपल अनुरोध किए जा सकते हैं. इससे आपको एपीआई और एपीआई के विकल्पों के बारे में जानकारी मिलती है.
पेज की दाईं ओर मौजूद, एपीआई आइकॉन api चुनें.
अनुरोध के पैरामीटर में बदलाव करें. यह ज़रूरी नहीं है.
लागू करें बटन को चुनें. डायलॉग बॉक्स में, वह खाता चुनें जिसका इस्तेमाल करके आपको अनुरोध करना है.
एपीआई एक्सप्लोरर विंडो को बड़ा करने के लिए, एपीआई एक्सप्लोरर पैनल में फ़ुलस्क्रीन आइकॉन फ़ुलस्क्रीन को चुनें.