परिचय
ऑटोकंप्लीट (नया), एक वेब सेवा है. यह एचटीटीपी अनुरोध के जवाब में, जगह के बारे में अनुमान और क्वेरी के बारे में अनुमान दिखाती है. अनुरोध में, टेक्स्ट खोज स्ट्रिंग और भौगोलिक सीमाएं तय करें. इससे खोज के दायरे को कंट्रोल किया जा सकेगा.
अपने-आप पूरा होने की सुविधा (नई) में, पूरे शब्दों और इनपुट के सबस्ट्रिंग का मिलान किया जा सकता है. इससे जगहों के नाम, पते, और प्लस कोड का पता लगाया जा सकता है. इसलिए, ऐप्लिकेशन उपयोगकर्ता के टाइप करते समय क्वेरी भेज सकते हैं, ताकि जगह और क्वेरी के बारे में तुरंत अनुमान लगाया जा सके.
ऑटोकंप्लीट (नया) से मिले जवाब में, दो तरह के सुझाव शामिल हो सकते हैं:
- जगह के बारे में अनुमान: कारोबारों, पतों, और लोकप्रिय जगहों जैसी जगहों के बारे में अनुमान. ये अनुमान, दिए गए इनपुट टेक्स्ट स्ट्रिंग और खोज के दायरे के आधार पर लगाए जाते हैं. जगहों के बारे में अनुमान लगाने की सुविधा डिफ़ॉल्ट रूप से चालू होती है.
- क्वेरी के अनुमान: इनपुट टेक्स्ट स्ट्रिंग और खोज के लिए इस्तेमाल किए गए शब्द से मैच करने वाली क्वेरी स्ट्रिंग. क्वेरी के सुझाव, डिफ़ॉल्ट रूप से नहीं दिखाए जाते. जवाब में क्वेरी के अनुमान जोड़ने के लिए,
includeQueryPredictionsअनुरोध पैरामीटर का इस्तेमाल करें.
उदाहरण के लिए, आपने Autocomplete (New) को कॉल किया. इसके लिए, आपने इनपुट के तौर पर एक ऐसी स्ट्रिंग का इस्तेमाल किया जिसमें उपयोगकर्ता का कुछ इनपुट शामिल है. जैसे, "Sicilian piz". साथ ही, खोज के दायरे को सैन फ़्रांसिस्को, कैलिफ़ोर्निया तक सीमित किया गया है. इसके बाद, जवाब में जगह के अनुमानों की एक सूची होती है. ये अनुमान, खोज स्ट्रिंग और खोज क्षेत्र से मेल खाते हैं. जैसे, "Sicilian Pizza Kitchen" नाम का रेस्टोरेंट और उस जगह के बारे में जानकारी.
जगह के अनुमान को इस तरह से डिज़ाइन किया गया है कि उन्हें उपयोगकर्ता को दिखाया जा सके, ताकि वह अपनी पसंद की जगह चुन सके. जगह के बारे में अनुमान लगाने के लिए, जगह की जानकारी (नई) का अनुरोध किया जा सकता है. इससे, अनुमानित जगहों के बारे में ज़्यादा जानकारी मिलती है.
जवाब में, क्वेरी के अनुमानों की एक सूची भी शामिल हो सकती है. ये अनुमान, खोज के लिए इस्तेमाल किए गए स्ट्रिंग और खोज के दायरे से मेल खाते हैं. जैसे, "सिसिलियन पिज़्ज़ा और पास्ता". जवाब में मौजूद हर क्वेरी के अनुमान में, text फ़ील्ड शामिल होता है. इसमें टेक्स्ट के ज़रिए खोज करने के लिए सुझाई गई स्ट्रिंग होती है. ज़्यादा जानकारी वाली खोज करने के लिए, उस स्ट्रिंग को टेक्स्ट खोज (नया) में इनपुट के तौर पर इस्तेमाल करें.
एपीआई एक्सप्लोरर की मदद से, लाइव अनुरोध किए जा सकते हैं. इससे आपको एपीआई और एपीआई के विकल्पों के बारे में जानकारी मिलती है:
ऑटोकंप्लीट (नया) सुविधा के लिए किए गए अनुरोध
ऑटोकंप्लीट (नया) अनुरोध, इस फ़ॉर्म में यूआरएल के लिए एचटीटीपी POST अनुरोध होता है:
https://places.googleapis.com/v1/places:autocomplete
सभी पैरामीटर को JSON अनुरोध के मुख्य हिस्से में या हेडर में, POST अनुरोध के हिस्से के तौर पर पास करें. उदाहरण के लिए:
curl -X POST -d '{
"input": "pizza",
"locationBias": {
"circle": {
"center": {
"latitude": 37.7937,
"longitude": -122.3965
},
"radius": 500.0
}
}
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete
काम करने वाले पैरामीटर
पैरामीटर |
ब्यौरा |
|---|---|
वह टेक्स्ट स्ट्रिंग जिसे खोजना है. इसमें पूरे शब्द, सबस्ट्रिंग, जगह के नाम, पते, और प्लस कोड शामिल हैं. |
|
|
कॉमा लगाकर अलग किए गए उन फ़ील्ड की सूची जिन्हें जवाब में दिखाना है. |
नतीजों को उन जगहों तक सीमित करता है जो ज़्यादा से ज़्यादा पांच प्राइमरी टाइप में से किसी एक से मेल खाती हैं. |
|
अगर यह सही है, तो इसमें ऐसे कारोबार शामिल होते हैं जिनका कोई ऑफ़िस नहीं है (घर या दुकान पर सेवा देने वाले कारोबार). डिफ़ॉल्ट रूप से, यह 'गलत' पर सेट होती है. |
|
अगर यह वैल्यू सही है, तो जवाब में जगह और क्वेरी, दोनों के अनुमान शामिल होते हैं. डिफ़ॉल्ट रूप से, यह 'गलत' पर सेट होती है. |
|
नतीजों को सीमित करने के लिए, दो वर्णों वाले ज़्यादा से ज़्यादा 15 देश कोड का कलेक्शन. |
|
इनपुट स्ट्रिंग में कर्सर की पोज़िशन का ज़ीरो-आधारित यूनिकोड वर्ण ऑफ़सेट. इससे अनुमानों पर असर पड़ता है. डिफ़ॉल्ट रूप से, यह इनपुट की लंबाई पर सेट होती है. |
|
नतीजों के लिए, पसंदीदा भाषा (IETF BCP-47 कोड). डिफ़ॉल्ट रूप से, Accept-Language हेडर या 'en' पर सेट होता है. |
|
यह पैरामीटर, खोज के नतीजों को किसी खास इलाके (सर्कल या आयत) के हिसाब से दिखाने के लिए इस्तेमाल किया जाता है. हालांकि, इस इलाके से बाहर के नतीजे भी दिखाए जा सकते हैं. इसका इस्तेमाल locationRestriction के साथ नहीं किया जा सकता. |
|
यह पैरामीटर, खोज के नतीजों को सीमित करने के लिए किसी इलाके (सर्कल या आयत) के बारे में बताता है. इस इलाके से बाहर के नतीजे नहीं दिखाए जाते. इसका इस्तेमाल locationBias के साथ नहीं किया जा सकता. |
|
ओरिजन पॉइंट (अक्षांश, देशांतर) का इस्तेमाल, अनुमानित डेस्टिनेशन के लिए सीधी लाइन की दूरी (distanceMeters) का हिसाब लगाने के लिए किया जाता है. |
|
जवाब को फ़ॉर्मैट करने और सुझावों को पक्षपात से बचाने के लिए इस्तेमाल किया गया क्षेत्र कोड (उदाहरण के लिए, 'uk', 'fr'). |
|
उपयोगकर्ता के जनरेट की गई स्ट्रिंग. इसका इस्तेमाल, बिलिंग के लिए एक सेशन में ऑटोमैटिक भरने की सुविधा के कॉल को ग्रुप करने के लिए किया जाता है. |
जवाब के बारे में जानकारी
ऑटोकंप्लीट (नया) सुविधा, रिस्पॉन्स के तौर पर JSON ऑब्जेक्ट दिखाती है. जवाब में:
suggestionsऐरे में, अनुमानित सभी जगहों और क्वेरी को उनकी अहमियत के हिसाब से क्रम में रखा जाता है. हर जगह कोplacePredictionफ़ील्ड से दिखाया जाता है और हर क्वेरी कोqueryPredictionफ़ील्ड से दिखाया जाता है.placePredictionफ़ील्ड में, किसी एक जगह के बारे में अनुमानित जानकारी होती है. इसमें जगह का आईडी और टेक्स्ट के तौर पर ब्यौरा शामिल होता है.queryPredictionफ़ील्ड में, किसी एक क्वेरी के अनुमान के बारे में पूरी जानकारी होती है.
पूरा JSON ऑब्जेक्ट इस फ़ॉर्म में होता है:
{
"suggestions": [
{
"placePrediction": {
"place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko",
"placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko",
"text": {
"text": "Amoeba Music, Haight Street, San Francisco, CA, USA",
"matches": [
{
"endOffset": 6
}]
},
...
},
{
"queryPrediction": {
"text": {
"text": "Amoeba Music",
"matches": [
{
"endOffset": 6
}]
},
...
}
...]
}ज़रूरी पैरामीटर
-
इनपुट
वह टेक्स्ट स्ट्रिंग जिसमें खोजना है. पूरे शब्द और सबस्ट्रिंग, जगहों के नाम, पते, और प्लस कोड डालें. ऑटोकंप्लीट (नया) सेवा, इस स्ट्रिंग के आधार पर संभावित मैच दिखाती है. साथ ही, नतीजों को उनकी अहमियत के हिसाब से क्रम में लगाती है.
ज़रूरी नहीं पैरामीटर
-
FieldMask
रिस्पॉन्स फ़ील्ड मास्क बनाकर, रिस्पॉन्स में दिखाए जाने वाले फ़ील्ड की सूची तय करें. एचटीटीपी हेडर
X-Goog-FieldMaskका इस्तेमाल करके, रिस्पॉन्स फ़ील्ड मास्क को तरीके से पास करें.सुझाए गए फ़ील्ड की कॉमा-सेपरेटेड लिस्ट डालें. उदाहरण के लिए, सुझाव के
suggestions.placePrediction.text.textऔरsuggestions.queryPrediction.text.textको वापस पाने के लिए.X-Goog-FieldMask: suggestions.placePrediction.text.text,suggestions.queryPrediction.text.text
सभी फ़ील्ड वापस पाने के लिए,
*का इस्तेमाल करें.X-Goog-FieldMask: *
-
includedPrimaryTypes
किसी जगह के लिए, एक ही प्राइमरी टाइप चुना जा सकता है. यह टाइप, टेबल A या टेबल B में दिए गए टाइप में से होना चाहिए. उदाहरण के लिए, प्राइमरी टाइप
"mexican_restaurant"या"steak_house"हो सकता है.डिफ़ॉल्ट रूप से, एपीआई
inputपैरामीटर के आधार पर सभी जगहों की जानकारी दिखाता है. भले ही, जगह से जुड़े प्राइमरी टाइप की वैल्यू कुछ भी हो.includedPrimaryTypesपैरामीटर पास करके, नतीजों को किसी खास प्राइमरी टाइप या प्राइमरी टाइप तक सीमित करें.इस पैरामीटर का इस्तेमाल करके, टेबल A या टेबल B से पांच टाइप वैल्यू तय करें. जवाब में किसी जगह को शामिल करने के लिए, यह ज़रूरी है कि वह बताए गए प्राइमरी टाइप की वैल्यू में से किसी एक से मेल खाती हो.
इस पैरामीटर में,
(regions)या(cities)में से कोई एक भी शामिल हो सकता है.(regions)टाइप कलेक्शन, इलाकों या डिवीज़न के लिए फ़िल्टर करता है. जैसे, आस-पास के इलाके और पिन कोड.(cities)टाइप कलेक्शन फ़िल्टर, उन जगहों के लिए होता है जिन्हें Google शहर के तौर पर पहचानता है.अगर:
INVALID_REQUEST- पांच से ज़्यादा टाइप दिए गए हैं.
(cities)या(regions)के अलावा, किसी अन्य टाइप की जानकारी दी गई हो.- इसमें ऐसे टाइप के बारे में बताया जाता है जिनकी पहचान नहीं हुई है.
-
includePureServiceAreaBusinesses
trueपर सेट होने पर, जवाब में ऐसे कारोबार शामिल होते हैं जो ग्राहकों के पते पर जाकर सेवा देते हैं या डिलीवरी करते हैं. हालांकि, उनके पास कोई ऐसी जगह नहीं होती जहां ग्राहक पहुंच सकें. अगर इसेfalseपर सेट किया जाता है, तो एपीआई सिर्फ़ उन कारोबारों की जानकारी दिखाता है जिनकी कोई तय जगह हो. -
includeQueryPredictions
अगर
trueहै, तो जवाब में जगह और क्वेरी, दोनों के सुझाव शामिल होते हैं. डिफ़ॉल्ट वैल्यूfalseहै. इसका मतलब है कि जवाब में सिर्फ़ जगह के बारे में अनुमान शामिल होते हैं. -
includedRegionCodes
नतीजों में सिर्फ़ उन क्षेत्रों के नतीजे शामिल करें जिनके बारे में बताया गया है. इन्हें ज़्यादा से ज़्यादा 15 ccTLD ("टॉप-लेवल डोमेन") की दो वर्णों वाली वैल्यू के ऐरे के तौर पर बताया गया है. अगर इसे शामिल नहीं किया जाता है, तो जवाब पर कोई पाबंदी नहीं लगाई जाती है. उदाहरण के लिए, जर्मनी और फ़्रांस को टारगेट करने के लिए:
"includedRegionCodes": ["de", "fr"]
अगर आपने
locationRestrictionऔरincludedRegionCodes, दोनों को चुना है, तो नतीजे, दोनों सेटिंग के इंटरसेक्शन वाले इलाके में दिखेंगे. -
inputOffset
शून्य पर आधारित यूनिकोड वर्ण ऑफ़सेट, जो
inputमें कर्सर की जगह दिखाता है. कर्सर की पोज़िशन से, इस बात पर असर पड़ सकता है कि कौनसे अनुमान दिखाए जाएंगे. अगर यह खाली है, तो डिफ़ॉल्ट रूप से इसकी लंबाईinputकी लंबाई के बराबर होती है. -
languageCode
वह पसंदीदा भाषा जिसमें नतीजे दिखाने हैं. अगर
inputमें इस्तेमाल की गई भाषा,languageCodeमें दी गई वैल्यू से अलग है, तो नतीजे अलग-अलग भाषाओं में दिख सकते हैं. इसके अलावा, अगर खोजे गए स्थान का अनुवाद स्थानीय भाषा सेlanguageCodeमें नहीं किया गया है, तब भी ऐसा हो सकता है.- पसंदीदा भाषा तय करने के लिए, आपको IETF BCP-47 भाषा कोड का इस्तेमाल करना होगा.
-
अगर
languageCodeनहीं दिया गया है, तो एपीआई,Accept-Languageहेडर में दी गई वैल्यू का इस्तेमाल करता है. अगर दोनों में से कोई भी वैल्यू नहीं दी गई है, तो डिफ़ॉल्ट वैल्यूenहोती है. अगर आपने अमान्य भाषा कोड डाला है, तो एपीआईINVALID_ARGUMENTगड़बड़ी का मैसेज दिखाता है. - पसंदीदा भाषा का असर, एपीआई से मिले नतीजों के सेट और उनके क्रम पर पड़ता है. इससे, एपीआई की वर्तनी की गलतियों को ठीक करने की क्षमता पर भी असर पड़ता है.
-
यह एपीआई, सड़क का ऐसा पता देने की कोशिश करता है जिसे उपयोगकर्ता और स्थानीय लोग, दोनों पढ़ सकें. साथ ही, यह उपयोगकर्ता के दिए गए इनपुट को भी दिखाता है. जगह की जानकारी के अनुमान, हर अनुरोध में उपयोगकर्ता के इनपुट के आधार पर अलग-अलग फ़ॉर्मैट में होते हैं.
-
inputपैरामीटर में मैच करने वाले शब्दों को सबसे पहले चुना जाता है. इसके लिए,languageCodeपैरामीटर में बताई गई भाषा के हिसाब से नामों का इस्तेमाल किया जाता है. अगर ऐसा नहीं होता है, तो उन नामों का इस्तेमाल किया जाता है जो उपयोगकर्ता के इनपुट से सबसे ज़्यादा मेल खाते हैं. -
सड़क के पते को स्थानीय भाषा में फ़ॉर्मैट किया जाता है. साथ ही, इसे उपयोगकर्ता के लिए पढ़ने लायक स्क्रिप्ट में लिखा जाता है. हालांकि, ऐसा सिर्फ़ तब किया जाता है, जब
inputपैरामीटर में मौजूद शर्तों से मिलती-जुलती शर्तें चुनी गई हों. -
inputपैरामीटर में दिए गए शब्दों से मिलते-जुलते शब्दों को चुनने के बाद, बाकी सभी पते आपकी चुनी हुई भाषा में दिखाए जाते हैं. अगर नाम आपकी पसंदीदा भाषा में उपलब्ध नहीं है, तो एपीआई सबसे मिलते-जुलते नाम का इस्तेमाल करता है.
-
locationBias या locationRestriction
खोज के दायरे को तय करने के लिए,
locationBiasयाlocationRestrictionमें से किसी एक का इस्तेमाल किया जा सकता है. हालांकि, दोनों का इस्तेमाल एक साथ नहीं किया जा सकता.locationRestrictionको उस इलाके के तौर पर समझें जहां नतीजे दिखने चाहिए. वहीं,locationBiasको उस इलाके के तौर पर समझें जहां नतीजे दिखने चाहिए, लेकिन वे उस इलाके के बाहर भी दिख सकते हैं.locationBias
खोजने के लिए कोई इलाका तय करता है. यह जगह, खोज के नतीजों को प्रभावित करती है. इसका मतलब है कि बताई गई जगह के आस-पास के नतीजे दिखाए जा सकते हैं. इसमें बताई गई जगह से बाहर के नतीजे भी शामिल हो सकते हैं.
locationRestriction
खोजने के लिए कोई इलाका तय करता है. चुने गए इलाके से बाहर के नतीजे नहीं दिखाए जाते.
locationBiasयाlocationRestrictionक्षेत्र को आयत के आकार का व्यूपोर्ट या सर्कल के तौर पर तय करें.किसी सर्कल को उसके सेंटर पॉइंट और मीटर में दी गई त्रिज्या से तय किया जाता है. रेडियस, 0.0 और 50000.0 के बीच होना चाहिए. इसमें ये दोनों भी शामिल हैं. डिफ़ॉल्ट वैल्यू 0.0 होती है.
locationRestrictionके लिए, आपको रेडियस को 0.0 से ज़्यादा पर सेट करना होगा. ऐसा न होने पर, अनुरोध के लिए कोई नतीजा नहीं मिलता.उदाहरण के लिए:
"locationBias": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 500.0 } }
आयत, अक्षांश-देशांतर का व्यूपोर्ट होता है. इसे दो विकर्ण विपरीत
lowऔर ऊंचे पॉइंट के तौर पर दिखाया जाता है. व्यूपोर्ट को एक बंद क्षेत्र माना जाता है. इसका मतलब है कि इसमें इसकी सीमा शामिल होती है. अक्षांश की सीमाएं -90 से 90 डिग्री के बीच होनी चाहिए. इसमें ये दोनों डिग्री शामिल हैं. साथ ही, देशांतर की सीमाएं -180 से 180 डिग्री के बीच होनी चाहिए. इसमें ये दोनों डिग्री शामिल हैं:- अगर
low=highहै, तो व्यूपोर्ट में सिर्फ़ एक पॉइंट होता है. - अगर
low.longitude>high.longitudeहै, तो देशांतर की रेंज उल्टी हो जाती है. इसका मतलब है कि व्यूपोर्ट, 180 डिग्री देशांतर वाली लाइन को पार कर जाता है. - अगर
low.longitude= -180 डिग्री औरhigh.longitude= 180 डिग्री है, तो व्यूपोर्ट में सभी देशांतर शामिल होते हैं. - अगर
low.longitude= 180 डिग्री औरhigh.longitude= -180 डिग्री है, तो देशांतर की सीमा खाली होती है.
lowऔरhigh, दोनों फ़ील्ड में वैल्यू डालना ज़रूरी है. साथ ही, दिखाए गए बॉक्स में वैल्यू डालना भी ज़रूरी है. व्यू पोर्ट खाली होने पर गड़बड़ी होती है.उदाहरण के लिए, इस व्यूपोर्ट में न्यूयॉर्क शहर पूरी तरह से शामिल है:
"locationBias": { "rectangle": { "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } } }
- अगर
-
origin
वह शुरुआती पॉइंट जहां से डेस्टिनेशन (
distanceMetersके तौर पर दिखाया गया) तक की सीधी दूरी का हिसाब लगाया जाता है. अगर इस वैल्यू को शामिल नहीं किया जाता है, तो सीधी दूरी नहीं दिखाई जाएगी. इसे अक्षांश और देशांतर के निर्देशांक के तौर पर तय किया जाना चाहिए:"origin": { "latitude": 40.477398, "longitude": -74.259087 }
-
regionCode
जवाब को फ़ॉर्मैट करने के लिए इस्तेमाल किया गया क्षेत्र कोड. इसे दो वर्णों वाली ccTLD ("टॉप-लेवल डोमेन") वैल्यू के तौर पर तय किया जाता है. ज़्यादातर ccTLD कोड, ISO 3166-1 कोड के जैसे ही होते हैं. हालांकि, कुछ मामलों में ये अलग होते हैं. उदाहरण के लिए, यूनाइटेड किंगडम का ccTLD "uk" (.co.uk) है, जबकि इसका ISO 3166-1 कोड "gb" है. तकनीकी तौर पर, यह "ग्रेट ब्रिटेन और उत्तरी आयरलैंड का यूनाइटेड किंगडम" के लिए है.
सुझाव, क्षेत्र के कोड के आधार पर भी पक्षपाती होते हैं. Google, उपयोगकर्ता की क्षेत्रीय प्राथमिकता के हिसाब से
regionCodeसेट करने का सुझाव देता है.अगर आपने क्षेत्र का अमान्य कोड डाला है, तो एपीआई
INVALID_ARGUMENTगड़बड़ी का मैसेज दिखाता है. लागू कानून के आधार पर, इस पैरामीटर से नतीजों पर असर पड़ सकता है. -
sessionToken
सेशन टोकन, उपयोगकर्ता की ओर से जनरेट की गई ऐसी स्ट्रिंग होती हैं जो ऑटोकंप्लीट (नया) कॉल को "सेशन" के तौर पर ट्रैक करती हैं. Autocomplete (नया) सुविधा, सेशन टोकन का इस्तेमाल करती है. इससे, उपयोगकर्ता की ऑटोकंप्लीट खोज के क्वेरी और चुनने के चरणों को बिलिंग के मकसद से अलग सेशन में ग्रुप किया जाता है. ज़्यादा जानकारी के लिए, सेशन टोकन देखें.
नतीजों को पक्षपाती बनाने के लिए पैरामीटर चुनना
ऑटोकंप्लीट (नया वर्शन) के पैरामीटर, खोज नतीजों पर अलग-अलग तरह से असर डाल सकते हैं. यहां दी गई टेबल में, पैरामीटर इस्तेमाल करने के बारे में सुझाव दिए गए हैं. ये सुझाव, आपके मकसद के हिसाब से दिए गए हैं.| पैरामीटर | इस्तेमाल करने से जुड़ा सुझाव |
|---|---|
regionCode |
इसे उपयोगकर्ता की जगह के हिसाब से सेट किया जाता है. |
includedRegionCodes |
इस विकल्प को सेट करके, नतीजों को तय किए गए क्षेत्रों की सूची तक सीमित किया जा सकता है. |
locationBias |
इस विकल्प का इस्तेमाल तब करें, जब आपको नतीजे किसी इलाके में या उसके आस-पास चाहिए हों. अगर लागू हो, तो इलाके को मैप के व्यूपोर्ट के तौर पर तय करें. यह वह व्यूपोर्ट होता है जिसे उपयोगकर्ता देख रहा है. |
locationRestriction |
सिर्फ़ का इस्तेमाल तब करें, जब किसी क्षेत्र से बाहर के नतीजे नहीं दिखाने हों. |
origin |
इस विकल्प का इस्तेमाल तब करें, जब हर अनुमान के लिए सीधी दूरी का इस्तेमाल करना हो. |
ऑटोकंप्लीट (नई सुविधा) के उदाहरण
locationRestriction का इस्तेमाल करके, किसी इलाके में खोज को सीमित करना
locationRestriction में, खोज के लिए इलाके की जानकारी दी जाती है. चुने गए इलाके से बाहर के नतीजे नहीं दिखाए जाते. यहां दिए गए उदाहरण में, सैन फ़्रांसिस्को के केंद्र से 5,000 मीटर के दायरे वाले सर्कल के लिए अनुरोध को सीमित करने के लिए, locationRestriction का इस्तेमाल किया गया है:
curl -X POST -d '{
"input": "Art museum",
"locationRestriction": {
"circle": {
"center": {
"latitude": 37.7749,
"longitude": -122.4194
},
"radius": 5000.0
}
}
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete
चुनी गई जगहों से मिले सभी नतीजे, suggestions कलेक्शन में शामिल होते हैं:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJkQQVTZqAhYARHxPt2iJkm1Q", "placeId": "ChIJkQQVTZqAhYARHxPt2iJkm1Q", "text": { "text": "Asian Art Museum, Larkin Street, San Francisco, CA, USA", "matches": [ { "startOffset": 6, "endOffset": 16 } ] }, "structuredFormat": { "mainText": { "text": "Asian Art Museum", "matches": [ { "startOffset": 6, "endOffset": 16 } ] }, "secondaryText": { "text": "Larkin Street, San Francisco, CA, USA" } }, "types": [ "establishment", "museum", "point_of_interest" ] } }, { "placePrediction": { "place": "places/ChIJI7NivpmAhYARSuRPlbbn_2w", "placeId": "ChIJI7NivpmAhYARSuRPlbbn_2w", "text": { "text": "de Young Museum, Hagiwara Tea Garden Drive, San Francisco, CA, USA", "matches": [ { "endOffset": 15 } ] }, "structuredFormat": { "mainText": { "text": "de Young Museum", "matches": [ { "endOffset": 15 } ] }, "secondaryText": { "text": "Hagiwara Tea Garden Drive, San Francisco, CA, USA" } }, "types": [ "establishment", "point_of_interest", "tourist_attraction", "museum" ] } }, /.../ ] }
locationRestriction का इस्तेमाल करके, खोजों को आयताकार व्यूपोर्ट तक सीमित किया जा सकता है. यहां दिए गए उदाहरण में, अनुरोध को सैन फ़्रांसिस्को के बाज़ार तक सीमित किया गया है:
curl -X POST -d '{
"input": "Art museum",
"locationRestriction": {
"rectangle": {
"low": {
"latitude": 37.7751,
"longitude": -122.4219
},
"high": {
"latitude": 37.7955,
"longitude": -122.3937
}
}
}
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete
नतीजे, suggestions ऐरे में शामिल हैं:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJkQQVTZqAhYARHxPt2iJkm1Q", "placeId": "ChIJkQQVTZqAhYARHxPt2iJkm1Q", "text": { "text": "Asian Art Museum, Larkin Street, San Francisco, CA, USA", "matches": [ { "startOffset": 6, "endOffset": 16 } ] }, "structuredFormat": { "mainText": { "text": "Asian Art Museum", "matches": [ { "startOffset": 6, "endOffset": 16 } ] }, "secondaryText": { "text": "Larkin Street, San Francisco, CA, USA" } }, "types": [ "point_of_interest", "museum", "establishment" ] } }, { "placePrediction": { "place": "places/ChIJyQNK-4SAhYARO2DZaJleWRc", "placeId": "ChIJyQNK-4SAhYARO2DZaJleWRc", "text": { "text": "International Art Museum of America, Market Street, San Francisco, CA, USA", "matches": [ { "startOffset": 14, "endOffset": 24 } ] }, "structuredFormat": { "mainText": { "text": "International Art Museum of America", "matches": [ { "startOffset": 14, "endOffset": 24 } ] }, "secondaryText": { "text": "Market Street, San Francisco, CA, USA" } }, "types": [ "museum", "point_of_interest", "tourist_attraction", "art_gallery", "establishment" ] } } ] }
locationBias का इस्तेमाल करके, किसी इलाके के हिसाब से खोज के नतीजों को पक्षपाती बनाना
locationBias के साथ, जगह की जानकारी को पूर्वाग्रह के तौर पर इस्तेमाल किया जाता है. इसका मतलब है कि बताई गई जगह के आस-पास के नतीजे दिखाए जा सकते हैं. इसमें बताई गई जगह के बाहर के नतीजे भी शामिल हो सकते हैं. यहां दिए गए उदाहरण में, सैन फ़्रांसिस्को के बाज़ार के हिसाब से अनुरोध किया गया है:
curl -X POST -d '{
"input": "Amoeba",
"locationBias": {
"circle": {
"center": {
"latitude": 37.7749,
"longitude": -122.4194
},
"radius": 5000.0
}
}
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete
अब नतीजों में कई और आइटम शामिल हैं. इनमें 5, 000 मीटर के दायरे से बाहर के नतीजे भी शामिल हैं:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko", "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko", "text": { "text": "Amoeba Music, Haight Street, San Francisco, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Haight Street, San Francisco, CA, USA" } }, "types": [ "electronics_store", "point_of_interest", "store", "establishment", "home_goods_store" ] } }, { "placePrediction": { "place": "places/ChIJr7uwwy58hYARBY-e7-QVwqw", "placeId": "ChIJr7uwwy58hYARBY-e7-QVwqw", "text": { "text": "Amoeba Music, Telegraph Avenue, Berkeley, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Telegraph Avenue, Berkeley, CA, USA" } }, "types": [ "electronics_store", "point_of_interest", "establishment", "home_goods_store", "store" ] } }, ... ] }
आयताकार व्यूपोर्ट के हिसाब से खोज के नतीजों को प्राथमिकता देने के लिए, locationBias का इस्तेमाल भी किया जा सकता है. यहां दिए गए उदाहरण में, अनुरोध को सैन फ़्रांसिस्को के बाज़ार तक सीमित किया गया है:
curl -X POST -d '{
"input": "Amoeba",
"locationBias": {
"rectangle": {
"low": {
"latitude": 37.7751,
"longitude": -122.4219
},
"high": {
"latitude": 37.7955,
"longitude": -122.3937
}
}
}
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete
जवाब में, रेक्टैंगुलर व्यूपोर्ट में मौजूद खोज के नतीजे दिखते हैं. हालांकि, कुछ नतीजे तय की गई सीमाओं से बाहर होते हैं. ऐसा इसलिए होता है, क्योंकि खोज के नतीजों को प्राथमिकता दी जाती है. नतीजे, suggestions ऐरे में भी शामिल होते हैं:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko", "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko", "text": { "text": "Amoeba Music, Haight Street, San Francisco, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Haight Street, San Francisco, CA, USA" } }, "types": [ "point_of_interest", "store", "establishment" ] } }, { "placePrediction": { "place": "places/ChIJr7uwwy58hYARBY-e7-QVwqw", "placeId": "ChIJr7uwwy58hYARBY-e7-QVwqw", "text": { "text": "Amoeba Music, Telegraph Avenue, Berkeley, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Telegraph Avenue, Berkeley, CA, USA" } }, "types": [ "point_of_interest", "store", "establishment" ] } }, { "placePrediction": { "place": "places/ChIJRdmfADq_woARYaVhnfQSUTI", "placeId": "ChIJRdmfADq_woARYaVhnfQSUTI", "text": { "text": "Amoeba Music, Hollywood Boulevard, Los Angeles, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Hollywood Boulevard, Los Angeles, CA, USA" } }, "types": [ "point_of_interest", "store", "establishment" ] } }, /.../ ] }
includedPrimaryTypes का इस्तेमाल करना
includedPrimaryTypes पैरामीटर का इस्तेमाल करके, टेबल A, टेबल B या सिर्फ़ (regions) या सिर्फ़ (cities) से, ज़्यादा से ज़्यादा पांच टाइप वैल्यू तय करें. जवाब में किसी जगह को शामिल करने के लिए, यह ज़रूरी है कि वह बताई गई प्राइमरी टाइप वैल्यू में से किसी एक से मेल खाती हो.
यहां दिए गए उदाहरण में, input स्ट्रिंग "सॉकर" के बारे में बताया गया है. साथ ही, includedPrimaryTypes पैरामीटर का इस्तेमाल करके, नतीजों को "sporting_goods_store" टाइप की जगहों तक सीमित किया गया है:
curl -X POST -d '{
"input": "Soccer",
"includedPrimaryTypes": ["sporting_goods_store"],
"locationBias": {
"circle": {
"center": {
"latitude": 37.7749,
"longitude": -122.4194
},
"radius": 500.0
}
}
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete
includedPrimaryTypes पैरामीटर को शामिल न करने पर, नतीजों में ऐसे कारोबार शामिल हो सकते हैं जिन्हें आपको शामिल नहीं करना है. जैसे, "athletic_field".
क्वेरी के अनुमानों का अनुरोध करना
क्वेरी के सुझाव, डिफ़ॉल्ट रूप से नहीं दिखाए जाते. जवाब में क्वेरी के अनुमान जोड़ने के लिए, includeQueryPredictions
request पैरामीटर का इस्तेमाल करें. उदाहरण के लिए:
curl -X POST -d '{
"input": "Amoeba",
"includeQueryPredictions": true,
"locationBias": {
"circle": {
"center": {
"latitude": 37.7749,
"longitude": -122.4194
},
"radius": 5000.0
}
}
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete
suggestions कैटगरी में अब जगह के सुझाव और क्वेरी के सुझाव, दोनों शामिल हैं. जैसा कि ऊपर जवाब के बारे में जानकारी में दिखाया गया है. क्वेरी के हर अनुमान में, text फ़ील्ड शामिल होता है. इसमें खोज के लिए सुझाया गया टेक्स्ट होता है. क्वेरी के अनुमानों के बारे में ज़्यादा जानकारी पाने के लिए, टेक्स्ट खोज (नई) का अनुरोध किया जा सकता है.
ऑरिजिन का इस्तेमाल करना
इस उदाहरण में, अक्षांश और देशांतर के निर्देशांक के तौर पर, अनुरोध में origin शामिल करें. origin शामिल करने पर, ऑटोकंप्लीट (नया वर्शन) सुविधा, जवाब में distanceMeters फ़ील्ड को शामिल करती है. इसमें origin से डेस्टिनेशन तक की सीधी दूरी शामिल होती है. इस उदाहरण में, सैन फ़्रांसिस्को के सेंटर को ऑरिजिन के तौर पर सेट किया गया है:
curl -X POST -d '{
"input": "Amoeba",
"origin": {
"latitude": 37.7749,
"longitude": -122.4194
},
"locationRestriction": {
"circle": {
"center": {
"latitude": 37.7749,
"longitude": -122.4194
},
"radius": 5000.0
}
}
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete
जवाब में अब distanceMeters शामिल है:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko", "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko", "text": { "text": "Amoeba Music, Haight Street, San Francisco, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Haight Street, San Francisco, CA, USA" } }, "types": [ "home_goods_store", "establishment", "point_of_interest", "store", "electronics_store" ], "distanceMeters": 3012 } } ] }
जवाब में दूरी की जानकारी मौजूद नहीं है
कुछ मामलों में, अनुरोध में origin शामिल होने के बावजूद, जवाब के मुख्य हिस्से में distanceMeters मौजूद नहीं होता. ऐसा इन स्थितियों में हो सकता है:
distanceMetersकोrouteके अनुमानों में शामिल नहीं किया जाता.distanceMetersको तब शामिल नहीं किया जाता, जब इसकी वैल्यू0होती है. ऐसा तब होता है, जब अनुमानित जगह, दी गईoriginजगह से एक मीटर से कम दूरी पर होती है.
पार्स किए गए ऑब्जेक्ट से distanceMeters फ़ील्ड को पढ़ने की कोशिश करने वाली क्लाइंट लाइब्रेरी, 0 वैल्यू वाला फ़ील्ड दिखाएगी.
लोगों को गुमराह होने से बचाने के लिए, उन्हें शून्य दूरी न दिखाएं.
इसे आज़माएं!
APIs Explorer की मदद से, सैंपल अनुरोध किए जा सकते हैं. इससे आपको एपीआई और एपीआई के विकल्पों के बारे में जानकारी मिलती है.
पेज की दाईं ओर मौजूद, एपीआई आइकॉन api चुनें.
अनुरोध के पैरामीटर में बदलाव करें. यह ज़रूरी नहीं है.
लागू करें बटन को चुनें. डायलॉग बॉक्स में, वह खाता चुनें जिसका इस्तेमाल करके आपको अनुरोध करना है.
APIs Explorer पैनल में, फ़ुलस्क्रीन आइकॉन fullscreen को चुनें, ताकि APIs Explorer विंडो को बड़ा किया जा सके.