ऑटोकंप्लीट (नई) एक वेब सेवा है, जो एचटीटीपी अनुरोध के जवाब में जगह के सुझाव और क्वेरी के सुझाव दिखाती है. अनुरोध में, टेक्स्ट खोज स्ट्रिंग और भौगोलिक सीमाओं की जानकारी दें. इससे, खोज के लिए चुने गए इलाके को कंट्रोल किया जा सकता है.
अपने-आप पूरा होने की सुविधा (नया वर्शन), इनपुट के पूरे शब्दों और सबस्ट्रिंग से मैच कर सकती है. इससे जगहों के नाम, पते, और प्लस कोड का पता चलता है. इसलिए, ऐप्लिकेशन उपयोगकर्ता के टाइप करते ही क्वेरी भेज सकते हैं, ताकि जगह और क्वेरी के अनुमान तुरंत दिए जा सकें.
ऑटोकंप्लीट (नया) की सुविधा से मिले जवाब में, दो तरह के सुझाव शामिल हो सकते हैं:
- जगहों के सुझाव: इनपुट टेक्स्ट स्ट्रिंग और खोज के इलाके के आधार पर, कारोबार, पते, और दिलचस्प जगहों जैसे सुझाव. जगह के सुझाव, डिफ़ॉल्ट रूप से दिखाए जाते हैं.
- क्वेरी के अनुमान: इनपुट टेक्स्ट स्ट्रिंग और खोज के लिए चुने गए क्षेत्र से मैच करने वाली क्वेरी स्ट्रिंग. क्वेरी के लिए सुझाव, डिफ़ॉल्ट रूप से नहीं दिखाए जाते. रिस्पॉन्स में क्वेरी के अनुमान जोड़ने के लिए,
includeQueryPredictions
अनुरोध पैरामीटर का इस्तेमाल करें.
उदाहरण के लिए, अपने-आप पूरा होने वाली टेक्स्ट की सुविधा (नया) को कॉल करने के लिए, इनपुट के तौर पर ऐसी स्ट्रिंग का इस्तेमाल किया जाता है जिसमें उपयोगकर्ता का कुछ इनपुट, "सिसिलियन पिज़" शामिल हो. साथ ही, खोज के लिए सिर्फ़ सैन फ़्रांसिस्को, कैलिफ़ोर्निया को चुना गया हो. इसके बाद, जवाब में जगह के सुझाव की सूची दिखती है. यह सूची, खोज क्वेरी और खोज के लिए इस्तेमाल हुए इलाके से मेल खाती है. जैसे, "सिसिलियन पिज़्ज़ा किचन" नाम का रेस्टोरेंट. साथ ही, जगह की जानकारी भी दिखती है.
जगह के अनुमान को उपयोगकर्ता को दिखाने के लिए डिज़ाइन किया गया है, ताकि वह अपनी पसंद की जगह चुन सके. जगह के सुझावों के बारे में ज़्यादा जानकारी पाने के लिए, जगह की जानकारी (नया) का अनुरोध किया जा सकता है.
रिस्पॉन्स में, क्वेरी के अनुमान की सूची भी शामिल हो सकती है. ये अनुमान, खोज स्ट्रिंग और खोज के इलाके से मेल खाने वाले होते हैं. जैसे, "सिसिलियन पिज़्ज़ा और पास्ता". रिस्पॉन्स में मौजूद हर क्वेरी के अनुमान में, text
फ़ील्ड शामिल होता है. इसमें, टेक्स्ट खोज के लिए सुझाई गई स्ट्रिंग होती है. ज़्यादा जानकारी वाली खोज करने के लिए, उस स्ट्रिंग का इस्तेमाल टेक्स्ट खोज (नया) के इनपुट के तौर पर करें.
एपीआई एक्सप्लोरर की मदद से, लाइव अनुरोध किए जा सकते हैं. इससे आपको एपीआई और एपीआई के विकल्पों के बारे में जानकारी मिलती है:
ऑटोकंप्लीट (नया) अनुरोध
अपने-आप पूरा होने वाला (नया) अनुरोध, किसी यूआरएल पर एचटीटीपी पोस्ट अनुरोध होता है. यह इस फ़ॉर्म में होता है:
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 दो वर्णों वाले देश कोड का कलेक्शन, ताकि नतीजों को सीमित किया जा सके. |
|
इनपुट स्ट्रिंग में कर्सर की पोज़िशन का शून्य पर आधारित यूनिकोड कैरेक्टर ऑफ़सेट, जो अनुमान पर असर डालता है. डिफ़ॉल्ट रूप से, यह इनपुट की लंबाई पर सेट होता है. |
|
नतीजों के लिए पसंदीदा भाषा (आईईटीएफ़ बीसीपी-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
में नहीं किया गया है, तो हो सकता है कि नतीजे अलग-अलग भाषाओं में दिखें.- अपनी पसंदीदा भाषा बताने के लिए, आपको आईईटीएफ़ बीसीपी-47 भाषा कोड का इस्तेमाल करना होगा.
-
अगर
languageCode
नहीं दिया गया है, तो एपीआई,Accept-Language
हेडर में बताई गई वैल्यू का इस्तेमाल करता है. अगर इनमें से कोई भी वैल्यू तय नहीं की गई है, तो डिफ़ॉल्ट वैल्यू के तौर परen
का इस्तेमाल किया जाता है. अगर आपने भाषा का अमान्य कोड डाला है, तो एपीआईINVALID_ARGUMENT
गड़बड़ी का मैसेज दिखाता है. - पसंदीदा भाषा का असर, उन नतीजों के सेट पर पड़ता है जिन्हें एपीआई दिखाता है. साथ ही, इस बात पर भी असर पड़ता है कि नतीजे किस क्रम में दिखाए जाते हैं. इससे, एपीआई की वर्तनी की गलतियां ठीक करने की क्षमता पर भी असर पड़ता है.
-
एपीआई, उपयोगकर्ता और स्थानीय लोगों, दोनों के लिए पढ़ने लायक सड़क का पता देने की कोशिश करता है. साथ ही, उपयोगकर्ता के इनपुट को भी दिखाता है. जगह के अनुमान,
हर अनुरोध में उपयोगकर्ता के इनपुट के आधार पर अलग-अलग फ़ॉर्मैट में होते हैं.
-
input
पैरामीटर में मैच होने वाले शब्दों को पहले चुना जाता है. इसके लिए,languageCode
पैरामीटर से तय की गई भाषा की प्राथमिकता के हिसाब से अलाइन किए गए नामों का इस्तेमाल किया जाता है. अगरlanguageCode
पैरामीटर उपलब्ध नहीं है, तो उपयोगकर्ता के इनपुट से सबसे ज़्यादा मैच होने वाले नामों का इस्तेमाल किया जाता है. -
सड़क के पतों को स्थानीय भाषा में फ़ॉर्मैट किया जाता है. जब भी हो सके, उपयोगकर्ता के पढ़ने लायक स्क्रिप्ट में ऐसा किया जाता है. ऐसा सिर्फ़ तब किया जाता है, जब
input
पैरामीटर में मौजूद शब्दों से मैच करने वाले शब्दों को चुना गया हो. -
input
पैरामीटर में मौजूद शब्दों से मैच करने वाले शब्दों को चुनने के बाद, बाकी सभी पते आपकी पसंदीदा भाषा में दिखाए जाते हैं. अगर कोई नाम, आपकी पसंदीदा भाषा में उपलब्ध नहीं है, तो एपीआई सबसे मिलते-जुलते नाम का इस्तेमाल करता है.
-
locationBias या locationRestriction
खोज के लिए जगह तय करने के लिए,
locationBias
याlocationRestriction
में से किसी एक का इस्तेमाल किया जा सकता है, दोनों का नहीं.locationRestriction
को उस क्षेत्र के तौर पर देखें जहां नतीजे होने चाहिए औरlocationBias
को उस क्षेत्र के तौर पर देखें जहां नतीजे होने चाहिए, लेकिन वे उस क्षेत्र से बाहर भी हो सकते हैं.locationBias
खोजने के लिए कोई इलाका तय करता है. यह जगह, खोज के नतीजों को बायस करती है. इसका मतलब है कि आपने जिस जगह की जानकारी दी है उसके आस-पास के नतीजे दिखाए जा सकते हैं. इनमें, उस जगह से बाहर के नतीजे भी शामिल हो सकते हैं.
locationRestriction
खोजने के लिए कोई इलाका तय करता है. तय किए गए इलाके से बाहर के नतीजे नहीं दिखाए जाते.
locationBias
याlocationRestriction
क्षेत्र को रेक्टैंगल व्यूपोर्ट या सर्कल के तौर पर तय करें.किसी वृत्त को उसके केंद्र बिंदु और त्रिज्या से तय किया जाता है. त्रिज्या को मीटर में दिखाया जाता है. त्रिज्या, 0.0 से 50,000.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 ("टॉप लेवल डोमेन") वैल्यू के तौर पर तय किया गया है. ज़्यादातर सीसीटीएलडी कोड, आईएसओ 3166-1 कोड से मिलते-जुलते होते हैं. हालांकि, कुछ कोड अलग होते हैं. उदाहरण के लिए, यूनाइटेड किंगडम का सीसीटीएलडी "uk" (.co.uk) है, जबकि उसका आईएसओ 3166-1 कोड "gb" है. तकनीकी तौर पर, यह कोड "ग्रेट ब्रिटेन और उत्तरी आयरलैंड के यूनाइटेड किंगडम" की इकाई के लिए है.
क्षेत्र के कोड के आधार पर भी सुझाव दिए जाते हैं. Google का सुझाव है कि उपयोगकर्ता की क्षेत्रीय प्राथमिकता के हिसाब से,
regionCode
को सेट करें.अगर आपने क्षेत्र का अमान्य कोड डाला है, तो एपीआई
INVALID_ARGUMENT
गड़बड़ी का मैसेज दिखाता है. लागू कानून के आधार पर, इस पैरामीटर से नतीजों पर असर पड़ सकता है. -
sessionToken
सेशन टोकन, उपयोगकर्ता से जनरेट हुई स्ट्रिंग होती हैं. ये ऑटोकंप्लीट (नया) कॉल को "सेशन" के तौर पर ट्रैक करती हैं. ऑटोकंप्लीट (नया) सेशन टोकन का इस्तेमाल करता है, ताकि बिलिंग के मकसद से, उपयोगकर्ता की ऑटोकंप्लीट खोज की क्वेरी और चुनने के चरणों को अलग-अलग सेशन में ग्रुप किया जा सके. ज़्यादा जानकारी के लिए, सेशन टोकन देखें.
नतीजों में अपने हिसाब से बदलाव करने के लिए पैरामीटर चुनना
अपने-आप पूरा होने वाले शब्द (नए) पैरामीटर, खोज के नतीजों पर अलग-अलग तरह से असर डाल सकते हैं. इस टेबल में, अपने हिसाब से नतीजे पाने के लिए पैरामीटर के इस्तेमाल के सुझाव दिए गए हैं.पैरामीटर | इस्तेमाल से जुड़ा सुझाव |
---|---|
regionBias |
उपयोगकर्ता की जगह के हिसाब से सेट की जाती है. |
includedRegionCodes |
नतीजों को तय किए गए इलाकों की सूची तक सीमित करने के लिए सेट करें. |
locationBias |
जब किसी इलाके में या उसके आस-पास के नतीजे चाहिए, तब इसका इस्तेमाल करें. अगर लागू हो, तो उस इलाके को मैप के व्यूपोर्ट के तौर पर तय करें जिसे उपयोगकर्ता देख रहा है. |
locationRestriction |
इसका इस्तेमाल सिर्फ़ तब करें, जब किसी इलाके से बाहर के नतीजे नहीं दिखाए जाने चाहिए. |
origin |
इसका इस्तेमाल तब करें, जब हर अनुमान के लिए सीधी दूरी का पता लगाना हो. |
ऑटोकंप्लीट (नया) के उदाहरण
locationRestriction का इस्तेमाल करके, खोज को किसी इलाके तक सीमित करना
locationRestriction
से पता चलता है कि किस इलाके में खोज करनी है. तय किए गए इलाके से बाहर के नतीजे नहीं दिखाए जाते. इस उदाहरण में, locationRestriction
का इस्तेमाल करके, अनुरोध को सैन फ़्रांसिस्को के केंद्र से 5,000 मीटर के सर्कल तक सीमित किया गया है:
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 } } ] }
जवाब में दूरी की जानकारी मौजूद नहीं है
कुछ मामलों में, जवाब के मुख्य हिस्से में distanceMeters
मौजूद नहीं होता. भले ही, अनुरोध में origin
शामिल हो. ऐसा इन स्थितियों में हो सकता है:
route
के अनुमान के लिए,distanceMeters
को शामिल नहीं किया गया है.distanceMeters
को तब शामिल नहीं किया जाता, जब इसकी वैल्यू0
हो. ऐसा उन अनुमान के लिए होता है जो दी गईorigin
जगह से एक मीटर से भी कम दूरी पर होते हैं.
पार्स किए गए ऑब्जेक्ट से distanceMeters
फ़ील्ड को पढ़ने की कोशिश करने वाली क्लाइंट लाइब्रेरी, 0
वैल्यू वाला फ़ील्ड दिखाएगी.
उपयोगकर्ताओं को गुमराह करने से बचने के लिए, उन्हें नहीं दिखाएं कि आपका कारोबार उनके आस-पास है.
इसे आज़माएं!
एपीआई एक्सप्लोरर की मदद से, सैंपल अनुरोध किए जा सकते हैं, ताकि आपको एपीआई और एपीआई के विकल्पों के बारे में जानकारी मिल सके.
पेज की दाईं ओर मौजूद, एपीआई आइकॉन api चुनें.
इसके बाद, अनुरोध पैरामीटर में बदलाव करें. हालांकि, ऐसा करना ज़रूरी नहीं है.
लागू करें बटन चुनें. डायलॉग बॉक्स में, वह खाता चुनें जिसका इस्तेमाल करके आपको अनुरोध करना है.
एपीआई एक्सप्लोरर पैनल में, एपीआई एक्सप्लोरर विंडो को बड़ा करने के लिए, फ़ुलस्क्रीन आइकॉन फ़ुलस्क्रीन चुनें.