गाइड

रिवर्स जियोकोडिंग से स्टोर लोकेटर बनाएँ

स्टोर लोकेटर को दो चीज़ें साथ मिलकर काम करती हुई चाहिए: यह जानने का तरीका कि ग्राहक कहाँ है, और तुलना के लिए स्टोर निर्देशांकों की एक सूची। रिवर्स जियोकोडिंग पहले हिस्से को साफ़-सुथरे ढंग से पूरा करती है।

निर्देशांकों को पढ़ने योग्य लोकेशन में बदलना

जब आपके पास ग्राहक के निर्देशांक हों, चाहे उसकी दर्ज की गई लोकेशन से या IP लुकअप से, तो उनकी रिवर्स जियोकोडिंग करें ताकि ग्राहक को एक पढ़ने योग्य जगह का नाम दिखाया जा सके और नतीजे दिखाने से पहले खोज की लोकेशन की पुष्टि हो जाए।

GET /v1/reverse?lat=51.5074&lon=-0.1278
{
  "status": "ok",
  "formatted": "Trafalgar Square, London, UK",
  "lat": 51.5074,
  "lon": -0.1278,
  "type": "address",
  "precision": "street",
  "confidence": 0.9,
  "place_id": "lm345",
  "components": {"city": "London", "country": "GB"}
}

निकटतम स्टोर ढूँढना

API निर्देशांक लौटाता है, किन्हीं दो मनचाहे बिंदुओं के बीच की दूरी नहीं, इसलिए ग्राहक का अक्षांश और देशांतर मिलने के बाद, दोनों निर्देशांक जोड़ियों पर मानक great-circle दूरी गणित से अपनी सूची के हर स्टोर तक की दूरी निकालें। अपनी स्टोर सूची को उस निकाली गई दूरी के अनुसार क्रम में लगाएँ और सबसे नज़दीकी कुछ स्टोर दिखाएँ।

ग्राहकों को इसके बजाय पता टाइप करने देना

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

दूसरा उदाहरण: डिवाइस GPS इस्तेमाल करने वाला मोबाइल ऐप

एक नेटिव ऐप आस-पास के स्टोर ढूँढने के लिए रिवर्स जियोकोडिंग चरण छोड़ सकता है, क्योंकि उसके पास पहले से डिवाइस के कच्चे निर्देशांक होते हैं जिन्हें सीधे आपकी स्टोर सूची से मिलाया जा सकता है। फिर भी वहाँ ग्राहक को दिखाए जाने वाले पुष्टि टेक्स्ट के लिए रिवर्स जियोकोडिंग उपयोगी रहती है, जैसे संख्याओं की एक सूखी जोड़ी के बजाय "Trafalgar Square, London के पास के स्टोर दिखाए जा रहे हैं", जिससे ग्राहक को नतीजे स्क्रॉल करने से पहले भरोसा हो जाता है कि ऐप ने उसकी लोकेशन सही समझी है।

एक आम गलती जिससे बचना चाहिए

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

दो पास-पास के स्टोर में बराबरी को संभालना

जब दो स्टोर लगभग एक जैसी निकाली गई दूरी पर आते हैं, तो सिर्फ़ दूरी ग्राहक को यह नहीं बताएगी कि उसके लिए असल में कौन-सा बेहतर है। दोनों को, खुलने के समय या स्टॉक की उपलब्धता जैसी जानकारी के साथ दिखाने से ग्राहक को किसी मनमाने क्रम के बजाय फ़ैसला करने का आधार मिलता है।

मिलान की पुष्टि

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

इसकी लागत क्या है

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

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