Text Search (नया) स्ट्रिंग के आधार पर जगहों के सेट के बारे में जानकारी दिखाता है — उदाहरण के लिए, "न्यूयॉर्क में पिज़्ज़ा" या "ओटावा के पास के जूतों की दुकानें" या "123 मेन स्ट्रीट". सेवा, टेक्स्ट स्ट्रिंग से मेल खाने वाली जगहों और सेट की गई जगह से जुड़े किसी भी पूर्वाग्रह की सूची के साथ जवाब देती है.
यह सेवा खास तौर पर, ऑटोमेटेड सिस्टम (कार्रवाइयों को अपने-आप पूरा करने वाले सिस्टम) में पते के बारे में अस्पष्ट क्वेरी बनाने के लिए काम की है. स्ट्रिंग के बिना पते वाले कॉम्पोनेंट, कारोबारों के साथ-साथ पतों से भी मेल खा सकते हैं. पते से जुड़ी अस्पष्ट क्वेरी के उदाहरण खराब फ़ॉर्मैट में तैयार किए गए पते या ऐसे अनुरोध होते हैं जिनमें पते के अलावा दूसरे कॉम्पोनेंट शामिल होते हैं, जैसे कि कारोबार के नाम. नीचे दी गई टेबल में दिए गए पहले दो उदाहरणों जैसे अनुरोध के लिए, हो सकता है कि कोई नतीजा न दिखे. ऐसा तब तक हो सकता है, जब तक जगह की जानकारी, जैसे कि जगह, जगह से जुड़ी पाबंदी या जगह का मापदंड सेट न किया गया हो.
"10 हाई स्ट्रीट, यूनाइटेड किंगडम" या "123 मेन स्ट्रीट, अमेरिका" | यूके में एक से ज़्यादा "हाई स्ट्रीट"; अमेरिका में कई "मुख्य सड़क". जब तक जगह की जानकारी की पाबंदी सेट नहीं हो जाती, तब तक क्वेरी से मनमुताबिक नतीजे नहीं मिलते. |
"चेन रेस्टोरेंट न्यूयॉर्क" | न्यूयॉर्क में कई "Chainrestaurant" स्टोर. यहां तक कि न तो सड़क का पता और न ही सड़क का नाम. |
"10 हाई स्ट्रीट, एशर यूके" या "123 मेन स्ट्रीट, प्लेसेंटन यूएस" | यूके के शहर एशर में सिर्फ़ एक "हाई स्ट्रीट"; अमेरिका के प्लेसेंटन सीए शहर में सिर्फ़ एक "मुख्य सड़क". |
"Uniqueरेस्टोरेंटName न्यूयॉर्क" | न्यूयॉर्क में इस नाम का सिर्फ़ एक संस्थान; अलग करने के लिए किसी मोहल्ले के पते की ज़रूरत नहीं है. |
"दिल्ली में पिज़्ज़ा रेस्टोरेंट" | इस क्वेरी में जगह की जानकारी से जुड़ी पाबंदी है और "पिज़्ज़ा रेस्टोरेंट" एक अच्छी तरह से तय की गई जगह का टाइप है. यह एक से ज़्यादा नतीजे दिखाता है. |
"+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'
टेक्स्ट खोज (नई) प्रतिक्रियाएं
Text Search (नया) जवाब के तौर पर, 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.id
,places.name
*
*places.name
फ़ील्ड में, जगह संसाधन का नाम इस फ़ॉर्म में होता है:places/PLACE_ID
. जगह के टेक्स्ट का नाम ऐक्सेस करने के लिए,places.displayName
का इस्तेमाल करें.नीचे दिए गए फ़ील्ड, Text Search (बेसिक) 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.delivery
, {2, {2,places.delivery
places.reviews
places.servesBeer
places.servesBreakfast
places.servesBrunch
places.servesCocktails
places.servesCoffee
places.servesDesserts
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
की वैल्यू को पांच पर सेट करने से, पहले पेज पर ज़्यादा से ज़्यादा पांच नतीजे दिखेंगे. अगर क्वेरी से कई और नतीजे दिखाए जा सकते हैं, तो जवाब में एकnextPageToken
शामिल होता है. इसे अगले पेज को ऐक्सेस करने के लिए, बाद में अनुरोध किया जा सकता है. evOptions
इस नीति से, उपलब्ध इलेक्ट्रिक वाहन (ईवी) के चार्जिंग कनेक्टर और चार्जिंग की दरों की पहचान करने के पैरामीटर के बारे में जानकारी मिलती है.
connectorTypes
किसी जगह पर उपलब्ध ईवी चार्जिंग कनेक्टर के टाइप के हिसाब से फ़िल्टर. अगर वह जगह किसी भी तरह के कनेक्टर के साथ काम नहीं करती, तो उसे फ़िल्टर कर दिया जाएगा. ईवी चार्जिंग कनेक्टर के साथ काम करने वाले चार्जर (एसी और डीसी) के चार्जर, Tesla चार्जर, जीबी/T के हिसाब से चार्ज होने वाले चार्जर (चीन में ईवी फ़ास्ट चार्जिंग के लिए), और वॉल आउटलेट चार्जर शामिल हैं. ज़्यादा जानकारी के लिए, पहचान वाला दस्तावेज़ देखें.
minimumChargingRateKw
किलोवाट (किलोवाट) में कम से कम ईवी चार्जिंग रेट के हिसाब से जगहों को फ़िल्टर करता है. जिन जगहों के लिए, चार्ज करने की दर, तय की गई कम से कम दर से कम है उन्हें फ़िल्टर करके बाहर कर दिया जाता है. उदाहरण के लिए, कम से कम 10 kW की चार्जिंग रेट वाले ईवी चार्जर ढूंढने के लिए, इस पैरामीटर को "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
की वैल्यू को पांच पर सेट करने से, पहले पेज पर ज़्यादा से ज़्यादा पांच नतीजे दिखेंगे. अगर क्वेरी से कई और नतीजे दिखाए जा सकते हैं, तो जवाब में एकnextPageToken
शामिल होता है. इसे अगले पेज को ऐक्सेस करने के लिए, बाद में अनुरोध किया जा सकता है.pageToken
पिछले पेज के रिस्पॉन्स के मुख्य हिस्से से
nextPageToken
के बारे में बताता है.-
priceLevels
खोज को तय कीमत लेवल पर मार्क किए गए स्थानों तक सीमित करें. डिफ़ॉल्ट रूप से, कीमत के सभी लेवल चुने जाते हैं.
PriceLevel
के ज़रिए तय की गई एक या ज़्यादा वैल्यू का कलेक्शन बनाएं.उदाहरण के लिए:
"priceLevels":["PRICE_LEVEL_INEXPENSIVE", "PRICE_LEVEL_MODERATE"]
rankPreference
इससे पता चलता है कि क्वेरी के टाइप के आधार पर, नतीजों को कैसे रैंक किया जाता है:
- "न्यूयॉर्क शहर के रेस्टोरेंट" जैसी कैटगरी से जुड़ी क्वेरी के लिए,
RELEVANCE
(खोज के हिसाब से रैंक के नतीजे) डिफ़ॉल्ट होता है.rankPreference
कोRELEVANCE
याDISTANCE
पर सेट किया जा सकता है (दूरी के हिसाब से रैंक के नतीजे). - हमारा सुझाव है कि "माउंटेन व्यू, CA" जैसी बिना कैटगरी वाली क्वेरी के लिए,
rankPreference
को सेट न करें.
- "न्यूयॉर्क शहर के रेस्टोरेंट" जैसी कैटगरी से जुड़ी क्वेरी के लिए,
regionCode
रिस्पॉन्स को फ़ॉर्मैट करने के लिए इस्तेमाल किया गया क्षेत्र का कोड, जिसे दो वर्ण वाले CLDR कोड की वैल्यू के तौर पर दिखाया जाता है. इस पैरामीटर की वजह से, खोज के नतीजों पर असर पड़ सकता है. कोई डिफ़ॉल्ट वैल्यू नहीं है.
अगर जवाब में
formattedAddress
फ़ील्ड में दिए गए देश का नामregionCode
से मेल खाता है, तो देश कोड कोformattedAddress
से हटा दिया जाता है. इस पैरामीटर काadrFormatAddress
पर कोई असर नहीं पड़ता. इसमें देश का नाम हमेशा उपलब्ध होने पर इसका इस्तेमाल किया जाता है. इसके अलावा,shortFormattedAddress
पर इसका कोई असर नहीं पड़ता, जिसमें देश का नाम कभी शामिल नहीं होता.ज़्यादातर CLDR कोड, ISO 3166-1 कोड से मेल खाते हैं. हालांकि, इसमें कुछ खास अपवाद हैं. उदाहरण के लिए, यूनाइटेड किंगडम का ccTLD "uk" (.co.uk) है, जबकि इसका ISO 3166-1 कोड "gb" है (तकनीकी रूप से "यूनाइटेड किंगडम ऑफ़ ग्रेट ब्रिटेन और नॉदर्न आयरलैंड" की इकाई के लिए). पैरामीटर, लागू कानून के आधार पर नतीजों पर असर डाल सकता है.
strictTypeFiltering
इसका इस्तेमाल
includeType
पैरामीटर के साथ किया जाता है. अगर इसे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
डेटा फ़ील्ड जोड़ा जाता है, ताकि यह फ़ॉर्म में दिखे:
{ "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
पैरामीटर को फ़ील्ड मास्क पर सेट करें.अनुरोध के मुख्य हिस्से में बदलाव करें. हालांकि, ऐसा करना ज़रूरी नहीं है.
लागू करें बटन को चुनें. पॉप-अप डायलॉग बॉक्स में, वह खाता चुनें जिसका इस्तेमाल आपको अनुरोध करने के लिए करना है.
एपीआई एक्सप्लोरर पैनल में, एपीआई एक्सप्लोरर विंडो को बड़ा करने के लिए, 'बड़ा करें' आइकॉन को चुनें.