परिचय
ऑटोकंप्लीट (नया) एक वेब सेवा है. यह एचटीटीपी अनुरोध के जवाब में, जगह के सुझाव और क्वेरी के सुझाव देती है. अनुरोध में, टेक्स्ट खोजने के लिए इस्तेमाल की जाने वाली स्ट्रिंग और भौगोलिक सीमाएं तय करें. इससे खोज के दायरे को कंट्रोल किया जा सकेगा.
ऑटोकंप्लीट (नई) सुविधा, पूरे शब्दों और इनपुट के सबस्ट्रिंग से मिलान कर सकती है. इससे जगहों के नाम, पते, और प्लस कोड का पता लगाया जा सकता है. इसलिए, ऐप्लिकेशन उपयोगकर्ता के टाइप करते समय क्वेरी भेज सकते हैं, ताकि जगह और क्वेरी के अनुमान तुरंत लगाए जा सकें.
ऑटोकंप्लीट (नया) से मिले जवाब में, दो तरह के सुझाव शामिल हो सकते हैं:
- जगह के बारे में अनुमान: कारोबारों, पतों, और लोकप्रिय जगहों जैसी जगहों के बारे में अनुमान. ये अनुमान, दिए गए इनपुट टेक्स्ट स्ट्रिंग और खोज के दायरे के आधार पर लगाए जाते हैं. जगहों के बारे में अनुमान लगाने की सुविधा डिफ़ॉल्ट रूप से चालू होती है.
- क्वेरी के अनुमान: इनपुट टेक्स्ट स्ट्रिंग और खोज के लिए चुने गए इलाके से मेल खाने वाली क्वेरी स्ट्रिंग. क्वेरी के सुझाव, डिफ़ॉल्ट रूप से नहीं दिखाए जाते. जवाब में क्वेरी के अनुमान जोड़ने के लिए,
includeQueryPredictionsअनुरोध पैरामीटर का इस्तेमाल करें.
उदाहरण के लिए, आपने Autocomplete (New) फ़ंक्शन को कॉल किया. इसके लिए, आपने इनपुट के तौर पर एक ऐसी स्ट्रिंग का इस्तेमाल किया जिसमें उपयोगकर्ता के इनपुट का कुछ हिस्सा शामिल है. जैसे, "Sicilian piz". साथ ही, आपने खोज के दायरे को सैन फ़्रांसिस्को, कैलिफ़ोर्निया तक सीमित किया. इसके बाद, जवाब में जगह के अनुमानों की एक सूची होती है. ये अनुमान, खोज स्ट्रिंग और खोज क्षेत्र से मेल खाते हैं. जैसे, "Sicilian Pizza Kitchen" नाम का रेस्टोरेंट और जगह के बारे में जानकारी.
जगह के अनुमान के तौर पर मिले सुझाव, उपयोगकर्ता को दिखाए जाते हैं. इससे उन्हें अपनी पसंद की जगह चुनने में मदद मिलती है. जगह के बारे में अनुमान लगाने के नतीजों में से किसी के बारे में ज़्यादा जानकारी पाने के लिए, जगह की जानकारी (नई) का अनुरोध किया जा सकता है.
जवाब में, क्वेरी के अनुमानों की सूची भी शामिल हो सकती है. ये अनुमान, खोज स्ट्रिंग और खोज के दायरे से मेल खाते हैं. जैसे, "सिसिलियन पिज़्ज़ा और पास्ता". जवाब में मौजूद हर क्वेरी के अनुमान में, text फ़ील्ड शामिल होता है. इसमें टेक्स्ट खोज के लिए सुझाई गई स्ट्रिंग होती है. ज़्यादा जानकारी वाली खोज करने के लिए, उस स्ट्रिंग को टेक्स्ट खोज (नया) में इनपुट के तौर पर इस्तेमाल करें.
APIs Explorer की मदद से, लाइव अनुरोध किए जा सकते हैं. इससे आपको एपीआई और एपीआई के विकल्पों के बारे में जानकारी मिलती है:
ऑटोकंप्लीट (नई) सुविधा के अनुरोध
Autocomplete (नया) का अनुरोध, इस तरह के यूआरएल के लिए एचटीटीपी पोस्ट अनुरोध होता है:
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: *
-
includeFutureOpeningBusinesses
अगर
trueहै, तो यह उन कारोबारों की जानकारी दिखाता है जो आने वाले समय में खुलने वाले हैं. यह डिफ़ॉल्ट रूप सेfalseपर सेट होता है. -
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
अनुरोध पैरामीटर का इस्तेमाल करें. उदाहरण के लिए:
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 } } ] }
आने वाले समय में खुलने वाले कारोबारों को ढूंढना
यहां दिए गए उदाहरण में, इडाहो के न्यू मीडोज़ में आने वाले समय में खुलने वाले कारोबारों के लिए, ऑटोकंप्लीट (नया) सुविधा के अनुरोध को दिखाया गया है:
curl -X POST \
-H "Content-Type: application/json" \
-H "X-Goog-Api-Key: API_KEY" \
-d '{
"input": "Roberts Greenhouse and Tree Farm",
"includeFutureOpeningBusinesses": true,
"locationBias": {
"circle": {
"center": {"latitude": 44.9755100, "longitude": -116.2842180},
"radius": 20
}
}
}' \
"https://places.googleapis.com/v1/places:autocomplete"
जवाब में जगह की जानकारी दी गई है, लेकिन खुलने की तारीख़ नहीं दी गई है.
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJp1-VoKWJplQRMz8g-7Wa3Do", "placeId": "ChIJp1-VoKWJplQRMz8g-7Wa3Do", "text": { "text": "Roberts Greenhouse and Tree Farm, McLain Street, New Meadows, ID, USA", "matches": [ { "endOffset": 32 } ] }, "structuredFormat": { "mainText": { "text": "Roberts Greenhouse and Tree Farm", "matches": [ { "endOffset": 32 } ] }, "secondaryText": { "text": "McLain Street, New Meadows, ID, USA" } }, "types": [ "garden_center", "establishment", "service", "store", "point_of_interest" ] } } ] }
जवाब में दूरी की जानकारी मौजूद नहीं है
कुछ मामलों में, अनुरोध में origin शामिल होने के बावजूद, जवाब के मुख्य हिस्से में distanceMeters मौजूद नहीं होता. ऐसा इन स्थितियों में हो सकता है:
distanceMetersकोrouteके अनुमानों में शामिल नहीं किया जाता.distanceMetersको तब शामिल नहीं किया जाता, जब इसकी वैल्यू0होती है. ऐसा तब होता है, जब अनुमानित जगह, दी गईoriginजगह से एक मीटर से कम दूरी पर होती है.
पार्स किए गए ऑब्जेक्ट से distanceMeters फ़ील्ड को पढ़ने की कोशिश करने वाली क्लाइंट लाइब्रेरी, 0 वैल्यू वाला फ़ील्ड दिखाएगी.
उपयोगकर्ताओं को गुमराह करने से बचने के लिए, उन्हें शून्य दूरी न दिखाएं.
ऑटोकंप्लीट (नया) ऑप्टिमाइज़ेशन
इस सेक्शन में, अपने-आप भरने की सुविधा (नई) का ज़्यादा से ज़्यादा फ़ायदा पाने के लिए, सबसे सही तरीकों के बारे में बताया गया है.
यहां कुछ सामान्य दिशा-निर्देश दिए गए हैं:
- उपयोगकर्ता इंटरफ़ेस को तुरंत डेवलप करने के लिए, Maps JavaScript API ऑटोकंप्लीट (नया) विजेट, Android के लिए Places SDK ऑटोकंप्लीट (नया) विजेट या iOS के लिए Places SDK ऑटोकंप्लीट (नया) विजेट का इस्तेमाल करें.
- शुरू से ही, अपने-आप भरने की सुविधा (नई) के डेटा फ़ील्ड के बारे में ज़रूरी जानकारी पाएं.
- जगह के हिसाब से खोज के नतीजों को बेहतर बनाने और जगह के हिसाब से पाबंदी लगाने वाले फ़ील्ड का इस्तेमाल करना ज़रूरी नहीं है. हालांकि, इससे अपने-आप भरने की सुविधा की परफ़ॉर्मेंस पर काफ़ी असर पड़ सकता है.
- गड़बड़ी को मैनेज करने की सुविधा का इस्तेमाल करें, ताकि एपीआई से गड़बड़ी का मैसेज मिलने पर आपका ऐप्लिकेशन ठीक से काम करे.
- पक्का करें कि आपका ऐप्लिकेशन, किसी भी विकल्प के न चुने जाने की स्थिति को मैनेज करता हो. साथ ही, उपयोगकर्ताओं को आगे बढ़ने का विकल्प देता हो.
लागत को ऑप्टिमाइज़ करने के सबसे सही तरीके
लागत को ऑप्टिमाइज़ करने की बुनियादी सेटिंग
ऑटोकंप्लीट (नया) सेवा का इस्तेमाल करने की लागत को ऑप्टिमाइज़ करने के लिए, Place Details (नया) और ऑटोकंप्लीट (नया) विजेट में फ़ील्ड मास्क का इस्तेमाल करें. इससे आपको सिर्फ़ ऑटोकंप्लीट (नया) डेटा फ़ील्ड की ज़रूरत होगी.
लागत को ऑप्टिमाइज़ करने की बेहतर सुविधा
ऑटोकंप्लीट (नई) सुविधा को प्रोग्राम के हिसाब से लागू करें, ताकि एसकेयू: ऑटोकंप्लीट अनुरोध की कीमत को ऐक्सेस किया जा सके. साथ ही, Place Details (New) के बजाय, चुनी गई जगह के बारे में Geocoding API के नतीजे पाने का अनुरोध किया जा सके. अगर ये दोनों शर्तें पूरी होती हैं, तो Geocoding API के साथ हर अनुरोध के लिए तय की गई कीमत, हर सेशन (सेशन पर आधारित) के लिए तय की गई कीमत से ज़्यादा किफ़ायती होती है:
- अगर आपको सिर्फ़ उपयोगकर्ता की चुनी गई जगह का अक्षांश/देशांतर या पता चाहिए, तो Geocoding API, Place Details (New) API के कॉल की तुलना में कम समय में यह जानकारी उपलब्ध कराता है.
- अगर उपयोगकर्ता, अपने-आप पूरा होने की सुविधा (नई) के लिए औसतन चार या इससे कम अनुरोधों में से किसी एक को चुनते हैं, तो अनुरोध के हिसाब से तय की गई कीमत, सेशन के हिसाब से तय की गई कीमत से ज़्यादा किफ़ायती हो सकती है.
क्या आपके ऐप्लिकेशन को चुने गए अनुमान के पते और अक्षांश/देशांतर के अलावा किसी अन्य जानकारी की ज़रूरत है?
हां, ज़्यादा जानकारी चाहिए
जगह की जानकारी (नई) के साथ, सेशन पर आधारित ऑटोकंप्लीट (नई) सुविधा का इस्तेमाल करें.
आपके ऐप्लिकेशन को जगह की जानकारी (नया) की ज़रूरत होती है. जैसे, जगह का नाम, कारोबार की स्थिति या खुलने का समय. इसलिए, ऑटोकंप्लीट (नया) को लागू करने के लिए, आपको हर सेशन के लिए एक सेशन टोकन का इस्तेमाल करना चाहिए. साथ ही, लागू होने वाले Places SKUs का इस्तेमाल करना चाहिए. सेशन टोकन का इस्तेमाल, प्रोग्राम के हिसाब से या JavaScript, Android या iOS विजेट में किया जा सकता है. यह इस बात पर निर्भर करता है कि आपने जगह के डेटा फ़ील्ड के लिए कौनसी क्वेरी की है.1
विजेट लागू करना
सेशन मैनेजमेंट की सुविधा, JavaScript, Android या iOS
विजेट में अपने-आप शामिल होती है. इसमें चुने गए सुझाव के लिए, ऑटोकंप्लीट (नया) और जगह की जानकारी (नई) के अनुरोध, दोनों शामिल होते हैं. fields पैरामीटर को ज़रूर शामिल करें, ताकि यह पक्का किया जा सके कि आपने सिर्फ़ ऑटोकंप्लीट (नई) डेटा फ़ील्ड के लिए अनुरोध किया है.
प्रोग्राम के हिसाब से लागू करना
अपने Autocomplete (नया) अनुरोधों के साथ
सेशन टोकन
का इस्तेमाल करें. चुने गए सुझाव के बारे में जगह की जानकारी (नई) का अनुरोध करते समय, इन पैरामीटर को शामिल करें:
- ऑटोकंप्लीट (नई) सुविधा से मिले जवाब में मौजूद जगह का आईडी
- इस सेशन टोकन का इस्तेमाल, Autocomplete (New) अनुरोध में किया जाता है
fieldsपैरामीटर, ऑटोकंप्लीट (नई) सुविधा के लिए ज़रूरी डेटा फ़ील्ड के बारे में बताता है
नहीं, सिर्फ़ पता और जगह की जानकारी चाहिए
आपके ऐप्लिकेशन के लिए, Place Details (New) की तुलना में Geocoding API ज़्यादा किफ़ायती विकल्प हो सकता है. यह Autocomplete (New) के इस्तेमाल की परफ़ॉर्मेंस पर निर्भर करता है. हर ऐप्लिकेशन के लिए, अपने-आप भरने की सुविधा (नई) की परफ़ॉर्मेंस अलग-अलग होती है. यह इस बात पर निर्भर करती है कि उपयोगकर्ता क्या डाल रहे हैं, ऐप्लिकेशन का इस्तेमाल कहां किया जा रहा है, और परफ़ॉर्मेंस ऑप्टिमाइज़ेशन के सबसे सही तरीके लागू किए गए हैं या नहीं.
इस सवाल का जवाब देने के लिए, यह विश्लेषण करें कि उपयोगकर्ता आपके ऐप्लिकेशन में, अपने-आप पूरा होने वाली (नई) सुविधा के सुझाव को चुनने से पहले औसतन कितने वर्ण टाइप करता है.
क्या आपके उपयोगकर्ता, औसतन चार या इससे कम अनुरोधों में ऑटोकंप्लीट (नया) सुविधा से मिले सुझाव को चुनते हैं?
हां
सेशन टोकन के बिना, प्रोग्राम के हिसाब से ऑटोकंप्लीट (नया) सुविधा लागू करें. साथ ही, चुनी गई जगह के सुझाव पर Geocoding API को कॉल करें.
Geocoding API, पते और अक्षांश/देशांतर के निर्देशांक उपलब्ध कराता है.
चुनी गई जगह के बारे में, चार ऑटोकंप्लीट अनुरोध और Geocoding API कॉल करने की कुल लागत, ऑटोकंप्लीट (नया) की सुविधा के एक सेशन की लागत से कम है.1
परफ़ॉर्मेंस के सबसे सही तरीकों का इस्तेमाल करें, ताकि आपके उपयोगकर्ताओं को कम वर्णों में भी वह अनुमान मिल सके जिसकी वे तलाश कर रहे हैं.
नहीं
जगह की जानकारी (नई) के साथ, सेशन पर आधारित ऑटोकंप्लीट (नई) सुविधा का इस्तेमाल करें.
किसी उपयोगकर्ता के, ऑटोकंप्लीट (नया) सुविधा के सुझाव को चुनने से पहले किए जाने वाले अनुरोधों की औसत संख्या, हर सेशन के लिए तय की गई कीमत से ज़्यादा है. इसलिए, ऑटोकंप्लीट (नया) सुविधा को लागू करने के लिए, आपको ऑटोकंप्लीट (नया) सुविधा के अनुरोधों और उससे जुड़े जगह की जानकारी (नया) के अनुरोध, दोनों के लिए हर सेशन के हिसाब से सेशन टोकन का इस्तेमाल करना चाहिए.
1
विजेट लागू करना
सेशन मैनेजमेंट की सुविधा, JavaScript, Android या iOS
विजेट में अपने-आप शामिल होती है. इसमें ऑटोकंप्लीट (नया) अनुरोध और चुने गए अनुमान के लिए, जगह की जानकारी (नई) का अनुरोध, दोनों शामिल हैं. यह पक्का करने के लिए कि आपने सिर्फ़ उन फ़ील्ड के लिए अनुरोध किया है जिनकी आपको ज़रूरत है, fields पैरामीटर तय करना न भूलें.
प्रोग्राम के हिसाब से लागू करना
अपने Autocomplete (नया) अनुरोधों के साथ
सेशन टोकन
का इस्तेमाल करें.
चुनी गई भविष्यवाणी के बारे में जगह की जानकारी (नई) का अनुरोध करते समय, ये पैरामीटर शामिल करें:
- ऑटोकंप्लीट (नई) सुविधा से मिले जवाब में मौजूद जगह का आईडी
- इस सेशन टोकन का इस्तेमाल, Autocomplete (New) अनुरोध में किया जाता है
fieldsपैरामीटर, जो फ़ील्ड की जानकारी देता है, जैसे कि पता और ज्यामिति
अपने-आप पूरा होने की सुविधा (नई) के अनुरोधों को कुछ समय के लिए रोकें
अपने-आप पूरा होने की सुविधा (नई) के अनुरोध को तब तक के लिए रोका जा सकता है, जब तक उपयोगकर्ता पहले तीन या चार वर्ण टाइप न कर ले. इससे आपका ऐप्लिकेशन कम अनुरोध करेगा. उदाहरण के लिए, अगर उपयोगकर्ता के तीसरे वर्ण को टाइप करने के बाद हर वर्ण के लिए, ऑटोकंप्लीट (नया) अनुरोध किए जाते हैं, तो इसका मतलब है कि अगर उपयोगकर्ता सात वर्ण टाइप करता है और फिर किसी ऐसे सुझाव को चुनता है जिसके लिए आपने एक Geocoding API अनुरोध किया है, तो कुल लागत, ऑटोकंप्लीट (नया) के लिए चार अनुरोध + जियोकोडिंग के लिए होगी.1
अगर अनुरोधों को कुछ समय के लिए रोकने से, प्रोग्राम के हिसाब से किए गए अनुरोधों की औसत संख्या चार से कम हो जाती है, तो Geocoding API के साथ ऑटोकंप्लीट (नया) की परफ़ॉर्मेंस बेहतर बनाने से जुड़े दिशा-निर्देशों का पालन करें. ध्यान दें कि अनुरोधों में देरी होने पर, उपयोगकर्ता को ऐसा लग सकता है कि खोज के नतीजे दिखने में समय लग रहा है. ऐसा इसलिए, क्योंकि वह हर नए कीस्ट्रोक पर अनुमानित नतीजे देखने की उम्मीद कर रहा होता है.
परफ़ॉर्मेंस के सबसे सही तरीकों का इस्तेमाल करें, ताकि आपके उपयोगकर्ताओं को कम वर्णों में वह अनुमान मिल सके जिसकी वे तलाश कर रहे हैं.
-
शुल्क के बारे में जानने के लिए, Google Maps Platform के शुल्क की सूची देखें.
परफ़ॉर्मेंस के सबसे सही तरीके
यहां दी गई गाइडलाइन में, ऑटोकंप्लीट (नया वर्शन) की परफ़ॉर्मेंस को ऑप्टिमाइज़ करने के तरीके बताए गए हैं:
- किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा (नया) को लागू करते समय, इन बातों का ध्यान रखें: देश के हिसाब से पाबंदियां, जगह के हिसाब से सुझावों को प्राथमिकता देना, और (प्रोग्राम के हिसाब से लागू करने के लिए) भाषा की प्राथमिकता. विजेट के लिए भाषा की प्राथमिकता सेट करने की ज़रूरत नहीं होती, क्योंकि वे उपयोगकर्ता के ब्राउज़र या मोबाइल डिवाइस से भाषा की प्राथमिकताएं चुनते हैं.
- अगर अपने-आप भरने की सुविधा (नई) के साथ मैप दिखाया जाता है, तो मैप व्यूपोर्ट के हिसाब से जगह की जानकारी को प्राथमिकता दी जा सकती है.
- जब कोई उपयोगकर्ता, ऑटोकंप्लीट (नया) सुविधा के सुझावों में से किसी को नहीं चुनता है, तो आम तौर पर ऐसा इसलिए होता है, क्योंकि इनमें से कोई भी सुझाव, उपयोगकर्ता के हिसाब से सही नहीं होता. ऐसे में, ज़्यादा काम के नतीजे पाने के लिए, उपयोगकर्ता के ओरिजनल इनपुट का फिर से इस्तेमाल किया जा सकता है:
- अगर आपको लगता है कि उपयोगकर्ता सिर्फ़ पते की जानकारी डालेगा, तो Geocoding API को कॉल करने के लिए, उपयोगकर्ता के ओरिजनल इनपुट का फिर से इस्तेमाल करें.
- अगर आपको लगता है कि उपयोगकर्ता किसी जगह का नाम या पता डालकर क्वेरी करेगा, तो जगह के बारे में ज़्यादा जानकारी (नई) का अनुरोध करें. अगर आपको नतीजे सिर्फ़ किसी खास इलाके में चाहिए, तो जगह के हिसाब से नतीजों को प्राथमिकता देने की सुविधा का इस्तेमाल करें.
- ऐसे उपयोगकर्ता जो सबप्रीमाइज़ के पते डालते हैं. जैसे, किसी बिल्डिंग में मौजूद खास यूनिट या अपार्टमेंट के पते. उदाहरण के लिए, चेक गणराज्य के पते "Stroupežnického 3191/17, Praha" के लिए, ऑटोकंप्लीट (नया) सुविधा की मदद से आंशिक सुझाव मिलता है.
- ऐसे उपयोगकर्ता जो न्यूयॉर्क शहर में "23-30 29th St, Queens" या हवाई के काउआई द्वीप पर "47-380 Kamehameha Hwy, Kaneohe" जैसे सड़क-सेगमेंट के प्रीफ़िक्स वाले पते डालते हैं.
जगह के हिसाब से नतीजे दिखाना
location पैरामीटर और radius पैरामीटर पास करके, नतीजों को किसी खास इलाके के हिसाब से दिखाएं. इससे ऑटोकंप्लीट (नया) को यह निर्देश मिलता है कि वह तय की गई जगह के हिसाब से नतीजे दिखाने को प्राथमिकता दे. हालांकि, तय की गई जगह से बाहर के नतीजे भी दिख सकते हैं. includedRegionCodes पैरामीटर का इस्तेमाल करके, नतीजों को फ़िल्टर किया जा सकता है. इससे सिर्फ़ किसी देश में मौजूद जगहों के नतीजे दिखते हैं.
जगह की जानकारी को सीमित करना
locationRestriction पैरामीटर पास करके, नतीजों को किसी तय जगह के लिए सीमित करें.
location और radius पैरामीटर से तय किए गए क्षेत्र के हिसाब से भी नतीजों को सीमित किया जा सकता है. इसके लिए, locationRestriction
पैरामीटर जोड़ें. इससे Autocomplete (New) को उस इलाके के सिर्फ़ नतीजे दिखाने का निर्देश मिलता है.
इसे आज़माएं!
APIs Explorer की मदद से, सैंपल अनुरोध किए जा सकते हैं. इससे आपको एपीआई और एपीआई के विकल्पों के बारे में जानकारी मिलती है.
पेज की दाईं ओर मौजूद, एपीआई आइकॉन api चुनें.
अनुरोध के पैरामीटर में बदलाव करें. यह ज़रूरी नहीं है.
लागू करें बटन को चुनें. डायलॉग बॉक्स में, वह खाता चुनें जिसका इस्तेमाल करके आपको अनुरोध करना है.
APIs Explorer पैनल में, फ़ुलस्क्रीन आइकॉन fullscreen को चुनें, ताकि APIs Explorer विंडो को बड़ा किया जा सके.