टेक्स्ट सर्च (नया), किसी स्ट्रिंग के आधार पर जगहों के सेट की जानकारी दिखाता है. उदाहरण के लिए, "नई दिल्ली में पिज़्ज़ा" या "दिल्ली के आस-पास के जूते के स्टोर" या "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
ये फ़ील्ड, 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.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 किलोवाट की चार्ज दर वाले ईवी चार्जर ढूंढने के लिए, इस पैरामीटर को "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
शामिल होता है. इसे अगले पेज को ऐक्सेस करने के लिए, बाद में अनुरोध करके भेजा जा सकता है.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 } ] } } ] }
घर या दुकान पर सेवा देने वाले कारोबार खोजें
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" }
नतीजों के अगले पेज को ऐक्सेस करने के लिए, अनुरोध के मुख्य हिस्से में 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
पैरामीटर को फ़ील्ड मास्क पर सेट करें.विकल्प के तौर पर, अनुरोध के मुख्य हिस्से में बदलाव करें.
लागू करें बटन चुनें. पॉप-अप डायलॉग बॉक्स में, वह खाता चुनें जिसका इस्तेमाल करके आपको अनुरोध करना है.
एपीआई एक्सप्लोरर पैनल में, एपीआई एक्सप्लोरर विंडो को बड़ा करने के लिए, बड़ा करें आइकॉन, चुनें.