الانتقال

الانتقال من الخرائط الثابتة والبلاطات في Mapbox عند الاستخدام للترميز الجغرافي فقط

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

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

My Geocode هي API للترميز الجغرافي والاستعلام عن IP والمنطقة الزمنية والارتفاع والرمز البريدي. وهي لا تعرض بلاطات الخرائط ولا صور الخرائط الثابتة، لذا فهي ليست بديلًا لهذا الجزء من تكامل Mapbox، بل لجزء الاستعلام عن العناوين فقط. ويعيد مضيفها المتوافق مع Mapbox إنتاج بنية GeoJSON FeatureCollection التي تُرجعها Mapbox Geocoding، بما في ذلك حقول center وplace_name وcontext، ويبقى نص حقوق النشر والشروط والخصوصية الفرق الوحيد. والتفاصيل المرجعية متاحة في /compatibility/mapbox/.

خطوات عملية للفصل:

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

تعمل المصادقة في المضيف المتوافق للترميز الجغرافي بمفتاح في X-API-Key، أو Authorization: Bearer، أو عبر مصادقة HTTP Basic، أو كمعامل في الاستعلام. وهناك 2,500 طلب مجاني يوميًا دون مفتاح، و2,500 طلب مجاني آخر لكل مفتاح يوميًا يُحتسب لكل شبكة، ثم رصيد مسبق الدفع بسعر 0.0001 € لكل طلب أو مفتاح Unlimited بسعر 50 € شهريًا، وهو السعر نفسه المطبق على كل نقطة نهاية بما فيها هذه.

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