माइग्रेशन

केवल जियोकोडिंग के लिए Mapbox स्टैटिक मैप और टाइल्स से हटना

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

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

My Geocode एक जियोकोडिंग, IP, समय क्षेत्र, ऊँचाई और पिन कोड लुकअप API है। यह मैप टाइल्स या स्टैटिक मैप इमेज रेंडर नहीं करता, इसलिए यह Mapbox इंटीग्रेशन के उस हिस्से का विकल्प नहीं है, केवल पते के लुकअप वाले हिस्से का है। इसका Mapbox कम्पैटिबिलिटी होस्ट Mapbox Geocoding द्वारा लौटाई जाने वाली GeoJSON FeatureCollection संरचना को दोहराता है, जिसमें center, place_name और context फ़ील्ड शामिल हैं, और केवल कॉपीराइट, शर्तों और गोपनीयता का टेक्स्ट अलग होता है। संदर्भ विवरण /compatibility/mapbox/ पर हैं।

अलग करने के व्यावहारिक चरण:

  • कोडबेस में वे सभी जगहें खोजें जहाँ Mapbox access token पढ़ा जाता है, और तय करें कि वह खास कॉल जियोकोडिंग करती है, टाइल रेंडरिंग करती है या दोनों, क्योंकि कुछ रैपर फ़ंक्शन पुराने समय से पते के लुकअप और मैप प्रीव्यू को एक ही कॉल में जोड़ते हैं
  • जियोकोडिंग वाली कॉल को एक अलग होस्ट से अलग कुंजी इस्तेमाल करने के लिए बदलें, जबकि टाइल और स्टैटिक मैप वाली कॉल को उनके मौजूदा token के साथ बिना बदलाव के Mapbox की ओर ही रहने दें
  • पक्का करें कि फ़्रंट-एंड मैप कंपोनेंट यह न मानता हो कि जियोकोडिंग नतीजा और मैप टाइल्स एक ही निर्देशांक संदर्भ या प्रोजेक्शन परंपरा से आते हैं, क्योंकि यह शायद ही कभी समस्या होती है लेकिन एक बार जल्दी से जाँच लेना ठीक है

जियोकोडिंग कम्पैटिबिलिटी होस्ट के लिए ऑथेंटिकेशन कुंजी के साथ X-API-Key, Authorization: Bearer, HTTP Basic auth या query पैरामीटर के रूप में काम करता है। बिना कुंजी के प्रतिदिन 2,500 मुफ़्त अनुरोध हैं, हर कुंजी पर प्रतिदिन 2,500 और मुफ़्त जो नेटवर्क के हिसाब से गिने जाते हैं, फिर €0.0001 प्रति अनुरोध की दर से प्रीपेड क्रेडिट या €50 प्रति माह की Unlimited कुंजी, वही दर जो इस एंडपॉइंट समेत हर एंडपॉइंट पर लागू होती है।

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