ऑटोकंप्लीट (नई) सेवा एक वेब सेवा है, जो एचटीटीपी अनुरोध के जवाब में जगह के सुझाव और क्वेरी के सुझाव दिखाती है. अनुरोध में, टेक्स्ट खोज स्ट्रिंग और भौगोलिक सीमाओं की जानकारी दें. इससे, खोज के लिए चुने गए इलाके को कंट्रोल किया जा सकता है.
अपने-आप जानकारी भरने की नई सुविधा, इनपुट के पूरे शब्दों और सबस्ट्रिंग से मैच कर सकती है. इससे जगहों के नाम, पते, और प्लस कोड का पता चलता है. इसलिए, ऐप्लिकेशन उपयोगकर्ता के टाइप करते ही क्वेरी भेज सकते हैं, ताकि जगह और क्वेरी के अनुमान तुरंत दिए जा सकें.
ऑटोकंप्लीट (नया) एपीआई के रिस्पॉन्स में दो तरह के सुझाव हो सकते हैं:
- जगहों के सुझाव: इनपुट टेक्स्ट स्ट्रिंग और खोज के इलाके के आधार पर, कारोबार, पते, और दिलचस्प जगहों जैसे सुझाव. जगह के सुझाव, डिफ़ॉल्ट रूप से दिखाए जाते हैं.
- क्वेरी के अनुमान: इनपुट टेक्स्ट स्ट्रिंग और खोज के लिए चुने गए क्षेत्र से मैच करने वाली क्वेरी स्ट्रिंग. क्वेरी के लिए सुझाव, डिफ़ॉल्ट रूप से नहीं दिखाए जाते. जवाब में क्वेरी के अनुमान जोड़ने के लिए,
includeQueryPredictions
अनुरोध पैरामीटर का इस्तेमाल करें.
उदाहरण के लिए, आपने एपीआई को कॉल करने के लिए, इनपुट के तौर पर ऐसी स्ट्रिंग का इस्तेमाल किया है जिसमें उपयोगकर्ता का कुछ इनपुट, "सिसिलियन पिज़" शामिल है. साथ ही, खोज के लिए सिर्फ़ सैन फ़्रांसिस्को, कैलिफ़ोर्निया को चुना गया है. इसके बाद, जवाब में जगह के सुझाव की एक सूची दिखती है. यह सूची, खोज स्ट्रिंग और खोज के इलाके से मेल खाने वाली जगहों की होती है. जैसे, "Sicilian Pizza Kitchen" नाम का रेस्टोरेंट. साथ ही, जगह की जानकारी भी दिखती है.
जगह के सुझाव, उपयोगकर्ता को दिखाए जाते हैं, ताकि वह अपनी पसंद की जगह चुन सके. जगह के सुझावों के बारे में ज़्यादा जानकारी पाने के लिए, जगह की जानकारी (नया) का अनुरोध किया जा सकता है.
रिस्पॉन्स में, क्वेरी के अनुमान की सूची भी शामिल हो सकती है. ये अनुमान, खोज स्ट्रिंग और खोज के इलाके से मेल खाने वाले होते हैं. जैसे, "सिसिलियन पिज़्ज़ा और पास्ता". रिस्पॉन्स में मौजूद हर क्वेरी के अनुमान में, 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
जवाब के बारे में जानकारी
ऑटोकंप्लीट (नया) सुविधा, रिस्पॉन्स के तौर पर 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.place
औरsuggestions.placePrediction.text
को वापस पाने के लिए.X-Goog-FieldMask: places.displayName,places.formattedAddress
सभी फ़ील्ड वापस पाने के लिए,
*
का इस्तेमाल करें.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" है. यह कोड, "ग्रेट ब्रिटेन और उत्तरी आयरलैंड के यूनाइटेड किंगडम" की इकाई के लिए है.
अगर आपने क्षेत्र का अमान्य कोड डाला है, तो एपीआई
INVALID_ARGUMENT
गड़बड़ी का मैसेज दिखाता है. लागू कानून के आधार पर, इस पैरामीटर से नतीजों पर असर पड़ सकता है. -
sessionToken
सेशन टोकन, उपयोगकर्ता से जनरेट हुई स्ट्रिंग होती हैं. ये ऑटोमैटिक भरने की सुविधा (नया) के कॉल को "सेशन" के तौर पर ट्रैक करती हैं. ऑटोकंप्लीट (नया) सेशन टोकन का इस्तेमाल करता है, ताकि बिलिंग के मकसद से, उपयोगकर्ता की ऑटोकंप्लीट की गई खोज की क्वेरी और चुनने के चरणों को अलग-अलग सेशन में ग्रुप किया जा सके. ज़्यादा जानकारी के लिए, सेशन टोकन देखें.
अपने-आप पूरा होने वाले टेक्स्ट (नया) के उदाहरण
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 } } ] }
इसे आज़माएं!
एपीआई एक्सप्लोरर की मदद से, सैंपल अनुरोध किए जा सकते हैं, ताकि आपको एपीआई और एपीआई के विकल्पों के बारे में जानकारी मिल सके.
इसे आज़माएं!
एपीआई एक्सप्लोरर की मदद से, सैंपल अनुरोध किए जा सकते हैं, ताकि आपको एपीआई और एपीआई के विकल्पों के बारे में जानकारी मिल सके.
पेज की दाईं ओर मौजूद, एपीआई आइकॉन api चुनें.
इसके बाद, अनुरोध पैरामीटर में बदलाव करें. हालांकि, ऐसा करना ज़रूरी नहीं है.
लागू करें बटन चुनें. डायलॉग बॉक्स में, वह खाता चुनें जिसका इस्तेमाल करके आपको अनुरोध करना है.
एपीआई एक्सप्लोरर पैनल में, एपीआई एक्सप्लोरर विंडो को बड़ा करने के लिए, फ़ुलस्क्रीन आइकॉन फ़ुलस्क्रीन चुनें.