गाइड

ऑटोकम्प्लीट से "क्या आपका मतलब था" सुझाव बॉक्स बनाएँ

"क्या आपका मतलब था" बॉक्स तब सबसे अच्छा काम करता है जब वह चुपचाप दिखे, एक छोटी सूची दे, और अगर कोई सुझाव फ़िट न हो तो रास्ते से हट जाए। ऑटोकम्प्लीट एंडपॉइंट ठीक इसी पैटर्न के लिए बना है।

अनुरोध

GET /v1/autocomplete?q=Baker Stret&limit=4
{
  "status": "ok",
  "query": "Baker Stret",
  "suggestions": [
    {"text": "Baker Street, London, UK", "place_id": "abc123"},
    {"text": "Baker Street, York, UK", "place_id": "abc789"}
  ]
}

ध्यान दें कि क्वेरी में "Stret" जैसी टाइपिंग गलती उचित सुझाव लौटने से नहीं रोकती, क्योंकि एंडपॉइंट अपूर्ण इनपुट के साथ काम करने के लिए बना है, और सुझाव बॉक्स का पूरा उद्देश्य भी यही है।

दूसरा उदाहरण: कोई भी सुझाव नहीं

हर क्वेरी, चाहे उसमें टाइपिंग गलती हो या न हो, उपयोगी मिलान नहीं देती।

GET /v1/autocomplete?q=Zzqxlm Nonexistent Rd&limit=4
{
  "status": "ok",
  "query": "Zzqxlm Nonexistent Rd",
  "suggestions": []
}

यहाँ खाली suggestions array एक सही रिस्पॉन्स है, इस बात का संकेत नहीं कि अनुरोध में कुछ गड़बड़ हुई। बॉक्स को इस तरह डिज़ाइन करें कि ऐसा होने पर वह चुपचाप गायब हो जाए, बजाय ऐसे इनपुट के लिए खाली ड्रॉपडाउन या दिखने वाली त्रुटि स्थिति दिखाने के जिसका बस कोई अच्छा मिलान नहीं है।

सूची दिखाना

हर सुझाव के text फ़ील्ड को दिखने वाले लेबल के रूप में दिखाएँ, और जो सुझाव क्लिक हो उसके साथ place_id जुड़ा रखें, क्योंकि डिस्प्ले टेक्स्ट को दोबारा पार्स करने के बजाय बाद में पूरा पता रिज़ॉल्व करने के लिए आप यही आइडेंटिफ़ायर आगे भेजते हैं।

इसे वैकल्पिक रखना

इस पैटर्न का सबसे महत्वपूर्ण हिस्सा, खास तौर पर ऐसी साइट पर जहाँ इंटरैक्शन चलाने के लिए कोई क्लाइंट-साइड JavaScript नहीं है, यह है कि फ़ील्ड फ़ॉर्म सबमिट होने पर टाइप किया गया पता सीधे स्वीकार करता रहे, चाहे कोई सुझाव क्लिक हुआ हो या नहीं। ऐसा सुझाव बॉक्स जो अपने किसी विकल्प के चुने जाने तक सबमिशन रोक दे, एक मददगार इशारे को सख्त शर्त में बदल देता है, और कोई भी पता जो वैध रूप से सुझाव सूची में नहीं है, उसे सबमिट करना असंभव हो जाता है।

टेस्ट करने लायक एक खास मामला

उस लिपि से अलग लिपि में लिखे पते जिससे आपका सुझाव बॉक्स मुख्य रूप से टेस्ट किया गया था, या लिप्यंतरित जगहों के नाम, ज़्यादातर पता डेटाबेस का वास्तविक हिस्सा हैं और किसी भी दूसरी बिना मिलान वाली क्वेरी की तरह "साधारण टेक्स्ट पर लौटने" वाले व्यवहार के हकदार हैं। यह न मानें कि असामान्य इनपुट के लिए सुझाव न मिलने का मतलब है कि इनपुट ही अमान्य है, क्योंकि सही प्रतिक्रिया अक्सर बस यह होती है कि ग्राहक ने जो टाइप किया उसे ठीक वैसे ही सबमिट करने दिया जाए।

अनुरोध सीमित करना

limit को एक छोटी संख्या पर सेट करें, सुझाव बॉक्स के लिए आमतौर पर तीन से पाँच काफ़ी हैं, क्योंकि लंबी सूची एक नज़र में देखने के उद्देश्य को ही विफल कर देती है। कॉल को डिबाउंस करें ताकि अनुरोध टाइपिंग में एक छोटे विराम के बाद ही जाए, जिससे एक सेशन में अनुरोधों की कुल संख्या कम रहे।

प्रति सेशन लागत

एक सामान्य पता फ़ील्ड प्रति विज़िटर, टाइप करते और खुद को सुधारते समय, कुछ ऑटोकम्प्लीट कॉल चला सकता है, और हर एक एक अनुरोध है। अच्छे-खासे ट्रैफ़िक वाले फ़ॉर्म पर भी यह हर कुंजी के साथ शामिल, या बिना कुंजी के किसी एक पते से उपलब्ध, 2,500 प्रतिदिन मुफ़्त अनुरोधों का छोटा सा हिस्सा है।

अच्छी तरह बना सुझाव बॉक्स टाइपिंग गलतियों को चुपचाप पकड़ता है और जिसे वह नहीं पहचानता उसके लिए रास्ते से हट जाता है। फ़ील्ड की पूरी परिभाषाएँ पता ऑटोकम्प्लीट दस्तावेज़ में हैं।