الانتقال

الانتقال من Mapbox Geocoding

تُرجع Mapbox Geocoding النتائج في صورة FeatureCollection بتنسيق GeoJSON، وهو اختيار مقصود يجعل تسليم المخرجات مباشرة إلى Mapbox GL أو أي مكتبة خرائط أخرى تدعم GeoJSON أمرًا سهلًا. تحمل كل ميزة زوج إحداثيات center، ونص place_name، ومصفوفة context تصف المنطقة والدولة والرمز البريدي الحاضنة. والمصادقة تتم عبر رمز وصول (access token) يُمرَّر عادةً كمعامل في الاستعلام، وكثير من الفرق تستخدم الرمز نفسه لبلاطات خرائط الويب ولاستدعاءات الترميز الجغرافي معًا.

هذا الاستخدام المزدوج لرمز واحد يستحق الانتباه قبل الترحيل، لأنه يعني أن استدعاء الترميز الجغرافي واستدعاء عرض الخريطة غالبًا ما يكونان متشابكين في كود التطبيق أكثر مما يبدو في البداية. والفصل بينهما بوضوح، بحيث يمكن توجيه طلب الترميز الجغرافي إلى مضيف جديد بينما تبقى بلاطات الخريطة حيث هي، هو عادةً أول قرار حقيقي يجب اتخاذه.

يعيد المضيف المتوافق مع Mapbox من My Geocode إنتاج بنية FeatureCollection، بما في ذلك حقول center وplace_name وcontext، لذا يستمر الكود المبني حول response.features[0].center في العمل بعد التبديل. ولا يختلف عن استجابة Mapbox نفسها إلا نص حقوق النشر والشروط والخصوصية. ومرجع الحقول متاح في /compatibility/mapbox/.

بعض الملاحظات العملية للفرق التي تقوم بهذا الانتقال:

  • إذا كانت الواجهة الأمامية لديك تستدعي Mapbox Geocoding مباشرة من JavaScript على جانب العميل، فمن المفيد التفكير أولًا في نقل هذا الاستدعاء إلى وكيل على جانب الخادم بغض النظر عن المزود الذي ستستقر عليه، لأن ذلك يُبقي مفاتيح API خارج كود المتصفح
  • تقبل المصادقة ترويسة X-API-Key، أو ترويسة Authorization: Bearer، أو مصادقة HTTP Basic، أو معاملًا في الاستعلام، لذا ينبغي أن يتوافق أي أسلوب يستخدمه عميل Mapbox الحالي لديك لرمز الوصول مع أحد هذه الأساليب
  • إذا كنت تعتمد على معاملات القرب (proximity) أو المربع المحيط (bounding box) في Mapbox لتوجيه النتائج نحو منطقة معينة، فراجع توثيق المضيف المتوافق لمعرفة أسماء المعاملات المكافئة قبل أن تفترض أنها تنتقل دون تغيير

يلغي التسعير هنا بنية فئات الرموز التي تتصاعد مع مستويات الاستخدام في كثير من منصات الخرائط. فهنا يوجد 2,500 طلب مجاني يوميًا دون أي مفتاح على الإطلاق، ويحمل كل مفتاح أيضًا 2,500 طلب مجاني يوميًا خاصًا به يُحتسب لكل شبكة. وبعد ذلك يأتي الرصيد المسبق الدفع بسعر 0.0001 € لكل طلب أو مفتاح Unlimited بسعر 50 € شهريًا، وكل نقطة نهاية، بما فيها هذا المضيف المتوافق، تكلف المبلغ نفسه.

لأن Mapbox تُستخدم كثيرًا إلى جانب بلاطات الخرائط وصور الخرائط الثابتة وليس للترميز الجغرافي وحده، فمن المهم أن يكون النطاق واضحًا: My Geocode هي API للترميز الجغرافي والاستعلام عن IP والمنطقة الزمنية والارتفاع والرمز البريدي، وليست مزودًا للبلاطات أو الخرائط الأساسية. وعلى الفرق التي تحتفظ بعرض الخرائط الحالي لديها وتنقل الاستعلام عن العناوين فقط إلى مضيف جديد أن تتوقع تشغيل مزودَين جنبًا إلى جنب لفترة، واحد للبلاطات وآخر للترميز الجغرافي، وهي طريقة طبيعية ومستقرة لتقسيم العمل وليست حالة مؤقتة يجب التعجل في تجاوزها.