टेक्स्ट खोज (नया) किसी स्ट्रिंग के आधार पर जगहों के सेट के बारे में जानकारी दिखाता है — उदाहरण के लिए "न्यूयॉर्क में पिज़्ज़ा" या "ओटावा के पास जूतों की दुकान" या "123 मेन स्ट्रीट". इस सेवा के जवाब में, ऐसी जगहों की सूची दिखाई जाती है जो टेक्स्ट स्ट्रिंग और सेट की गई जगह से मेल खाने वाली जगहों की सूची के साथ मेल खाते हैं.
यह सेवा खास तौर पर तब काम आती है, जब ऑटोमेटेड सिस्टम (कार्रवाइयों को अपने-आप पूरा करने वाला सिस्टम) में पते से जुड़ी क्वेरी साफ़ तौर पर न दिखाई गई हों. स्ट्रिंग के बिना पते वाले कॉम्पोनेंट, कारोबारों और पतों से मैच कर सकते हैं. पते से जुड़ी क्वेरी के उदाहरणों में खराब फ़ॉर्मैट वाले पते या वे अनुरोध शामिल होते हैं जिनमें पता नहीं होता, जैसे कि कारोबार के नाम. नीचे दी गई टेबल में दिए गए पहले दो उदाहरणों जैसे अनुरोधों से शून्य नतीजे मिल सकते हैं. ऐसा तब तक होगा, जब तक कोई जगह, जैसे कि क्षेत्र, जगह के लिए पाबंदी या जगह के हिसाब से पूर्वाग्रह सेट नहीं किया जाता.
"10 High Street, UK" या "123 Main Street, US" | यूनाइटेड किंगडम में कई "हाई स्ट्रीट"; अमेरिका में कई "मुख्य सड़कें". जब तक जगह की जानकारी की पाबंदी सेट नहीं की जाती, तब तक क्वेरी से मनमुताबिक नतीजे नहीं मिलते. |
"चेन रेस्टोरेंट न्यूयॉर्क" | न्यूयॉर्क में कई "चेन रेस्टोरेंट" जगहें; यहां तक कि मोहल्ले का पता या मोहल्ले का नाम भी नहीं. |
"10 High Street, Escher UK" या "123 Main Street, Pleasanton US" | यूके के शहर एस्चर में सिर्फ़ एक "हाई स्ट्रीट"; अमेरिका के प्लेसेंटन सीए शहर की सिर्फ़ एक "मुख्य सड़क". |
"यूनिक रेस्टोरेंट का नाम न्यूयॉर्क" | न्यूयॉर्क में इस नाम का सिर्फ़ एक होटल. अलग-अलग जगहों के बीच अंतर करने के लिए, मोहल्ले का पता सेट करने की ज़रूरत नहीं है. |
"दिल्ली में पिज़्ज़ा रेस्टोरेंट" | इस क्वेरी में, जगह की जानकारी से जुड़ी पाबंदी शामिल है और "पिज़्ज़ा रेस्टोरेंट" एक अच्छी तरह से बताया गया जगह है. यह कई नतीजे दिखाता है. |
"+1 514-670-8700" | इस क्वेरी में फ़ोन नंबर शामिल है. यह उस फ़ोन नंबर से जुड़ी जगहों के लिए एक से ज़्यादा नतीजे दिखाता है. |
एपीआई एक्सप्लोरर की मदद से लाइव अनुरोध किए जा सकते हैं, ताकि आपको एपीआई और एपीआई के विकल्पों के बारे में जानकारी मिल सके:
टेक्स्ट से खोज के अनुरोध
टेक्स्ट खोज अनुरोध, इस फ़ॉर्म का एक एचटीटीपी पोस्ट अनुरोध होता है:
https://places.googleapis.com/v1/places:searchText
सभी पैरामीटर को JSON अनुरोध के मुख्य हिस्से या हेडर में, पोस्ट अनुरोध के हिस्से के तौर पर पास करें. उदाहरण के लिए:
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: *
इनमें से एक या ज़्यादा फ़ील्ड चुनें:
ये फ़ील्ड Text Search (सिर्फ़ आईडी) 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.displayName
,places.formattedAddress
,places.googleMapsUri
,places.iconBackgroundColor
,places.iconMaskBaseUri
,places.location
,places.photos
,places.plusCode
,places.primaryType
,places.primaryTypeDisplayName
,places.shortFormattedAddress
,places.subDestinations
,places.types
,places.utcOffsetMinutes
,places.viewport
ये फ़ील्ड, Text Search (ऐडवांस) SKU को ट्रिगर करते हैं:
places.currentOpeningHours
,places.currentSecondaryOpeningHours
,places.internationalPhoneNumber
,places.nationalPhoneNumber
,places.priceLevel
,places.rating
,places.regularOpeningHours
,places.regularSecondaryOpeningHours
,places.userRatingCount
,places.websiteUri
ये फ़ील्ड Text Search (पसंदीदा) 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.servesBeer
,places.servesBreakfast
, {2,/},places.delivery
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"
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
का मतलब है कि वह क्षेत्र तय करना जिसमें नतीजे, इलाके के पास होने चाहिए, लेकिन उसके बाहर भी हो सकते हैं.-
maxनतीजेCount (अब सेवा में नहीं हैं)
हर पेज पर दिखाए जाने वाले नतीजों की संख्या (1 से 20 के बीच) तय करता है. उदाहरण के लिए,
maxResultCount
की वैल्यू को 5 पर सेट करने पर, पहले पेज पर ज़्यादा से ज़्यादा पांच नतीजे दिखाए जा सकते हैं. अगर क्वेरी से मिलने वाले और नतीजे भी हैं, तो रिस्पॉन्स मेंnextPageToken
शामिल होता है. इसे अगले पेज को ऐक्सेस करने के लिए, बाद में अनुरोध करके भेजा जा सकता है. evOptions
उपलब्ध इलेक्ट्रिक वाहन (ईवी) चार्जिंग कनेक्टर और चार्जिंग की दरों की पहचान करने के लिए पैरामीटर तय करती है.
connectorTypes
किसी जगह पर मौजूद ईवी चार्जिंग कनेक्टर के टाइप के हिसाब से फ़िल्टर किए जा सकते हैं. जो जगह किसी भी कनेक्टर टाइप के साथ काम नहीं करती उसे फ़िल्टर करके बाहर कर दिया जाएगा. ईवी चार्जिंग कनेक्टर के साथ काम करने वाले कई तरह के ईवी चार्जिंग कनेक्टर में, मिले-जुले (एसी और डीसी) चार्जर, Tesla चार्जर, GB/T के हिसाब से बने चार्जर (चीन में ईवी फ़ास्ट चार्जिंग के लिए ), और वॉल आउटलेट चार्जर शामिल हैं. ज़्यादा जानकारी के लिए, पहचान फ़ाइल शामिल करने से जुड़े दस्तावेज़ देखें.
minimumChargingRateKw
ईवी चार्जिंग की कम से कम दर के हिसाब से, जगहों को किलोवाट (किलोवॉट) में फ़िल्टर करता है. जिन जगहों पर, चार्जिंग की कम से कम दर से कम दर से शुल्क लिया जाता है उन्हें फ़िल्टर करके हटा दिया जाता है. उदाहरण के लिए, कम से कम 10 किलोवाट की चार्ज दर वाले ईवी चार्जर के बारे में जानने के लिए, इस पैरामीटर को "10" पर सेट करें.
minRating
नतीजों को सिर्फ़ उन लोगों तक सीमित करता है जिनकी औसत उपयोगकर्ता रेटिंग इस सीमा से ज़्यादा या इसके बराबर है. वैल्यू, 0.5 की बढ़ोतरी के साथ 0.0 और 5.0 के बीच होनी चाहिए. उदाहरण के लिए: 0, 0.5, 1.0, ... , 5.0, दोनों शामिल हैं. वैल्यू को निकटतम 0.5 तक पूर्णांकित कर दिया जाता है. उदाहरण के लिए, अगर 0.6 वैल्यू है, तो 1.0 से कम रेटिंग वाले सभी नतीजों को हटा दिया जाता है.
openNow
अगर
true
है, तो क्वेरी भेजते समय सिर्फ़ वे जगहें दिखाएं जो कारोबार के लिए खुली हैं. अगरfalse
है, तो सभी कारोबारों को दिखाएं, भले ही कारोबार खुला हो. अगर आप इस पैरामीटर कोfalse
पर सेट करते हैं, तो ऐसी जगहें जो 'Google जगहें' डेटाबेस के खुलने के समय की जानकारी नहीं देती हैं.pageSize
हर पेज पर दिखाए जाने वाले नतीजों की संख्या (1 से 20 के बीच) तय करता है. उदाहरण के लिए,
pageSize
की वैल्यू को 5 पर सेट करने पर, पहले पेज पर ज़्यादा से ज़्यादा पांच नतीजे दिखाए जा सकते हैं. अगर क्वेरी से मिलने वाले और नतीजे भी हैं, तो रिस्पॉन्स मेंnextPageToken
शामिल होता है. इसे अगले पेज को ऐक्सेस करने के लिए, बाद में अनुरोध करके भेजा जा सकता है.pageToken
पिछले पेज के रिस्पॉन्स वाले मुख्य हिस्से से
nextPageToken
के बारे में बताता है.-
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
हेडर से पता चलता है कि रिस्पॉन्स में ये डेटा फ़ील्ड शामिल हैं: 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
के तौर पर, क्षेत्र के बारे में बताएं कि नतीजे, इलाके के आस-पास होने चाहिए, लेकिन उससे बाहर भी हो सकते हैं.
नीचे दिए गए उदाहरण में, टेक्स्ट सर्च के एक अनुरोध में दिखाया गया है कि "मसालेदार खाना" के तौर पर हमने सिर्फ़ सैन फ़्रांसिस्को के शहर के एक हिस्से से 500 मीटर के दायरे को चुना है. यह अनुरोध, खुली जगहों के सिर्फ़ पहले 10 नतीजे दिखाता है.
curl -X POST -d '{ "textQuery" : "Spicy 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 } ] } } ] }
प्रति पेज लौटाने के लिए परिणामों की संख्या दर्ज करें
हर पेज पर दिखाए जाने वाले नतीजों की संख्या तय करने के लिए, 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" }
नतीजों के अगले पेज को ऐक्सेस करने के लिए, अनुरोध के मुख्य हिस्से में nextPageToken
को पास करने के लिए, pageToken
का इस्तेमाल करें:
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" }
इसे आज़माएं!
एपीआई एक्सप्लोरर से आपको सैंपल के तौर पर अनुरोध करने की सुविधा मिलती है. इससे आपको एपीआई और एपीआई के विकल्पों के बारे में जानकारी मिलती है.
पेज के दाईं ओर मौजूद, एपीआई आइकॉन को चुनें.
विकल्प के तौर पर, स्टैंडर्ड पैरामीटर दिखाएं को बड़ा करें और
fields
पैरामीटर को फ़ील्ड मास्क पर सेट करें.विकल्प के तौर पर, अनुरोध के मुख्य हिस्से में बदलाव करें.
लागू करें बटन चुनें. पॉप-अप डायलॉग बॉक्स में, वह खाता चुनें जिसका इस्तेमाल करके अनुरोध करना है.
एपीआई एक्सप्लोरर पैनल में, एपीआई एक्सप्लोरर की विंडो को बड़ा करने के लिए, 'बड़ा करें' आइकॉन को चुनें.