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