المطلوب تنفيذ ما يلي بكل سرور، هيا نركز على الخيار الأول (MapLibre + Ramani Maps) بالتفصيل.
هذا الحل يعتبر الأكثر توازناً للمبتدئين؛ فهو مفتوح المصدر ومجاني، ويعمل بشكل ممتاز دون اتصال بالإنترنت. إليك دليل خطوة بخطوة لتجربته في مشروع منفصل:
الخطوة 1: إنشاء مشروع جديد وإضافة المكتبة
1. أنشئ مشروعاً جديداً في Android Studio (اختر Empty Activity). 2. أضف المكتبة في ملف build.gradle.kts (على مستوى وحدة الـ app): ```kotlin dependencies { // استخدم أحدث إصدار، تحقق من الرابط لمعرفة الرقم الأحدث implementation("org.ramani-maps:ramani-maplibre:0.10.0") } ``` ملاحظة: الإصدار 0.10.0 هو أحدث إصدار متاح. يمكنك متابعة آخر التحديثات من هنا.
️ الخطوة 2: تجهيز ملفات الخريطة (الجزء الأهم)
هذه الخطوة تشبه تجهيز "مواد البناء" للخريطة. ستحتاج إلى ٣ مكونات رئيسية:
1. map.mbtiles (بلاطات الخريطة): الملف الأساسي الذي يحتوي على بيانات الخريطة. 2. style.json (ملف النمط): يحدد شكل الخريطة (الألوان، الخطوط، إلخ). 3. مجلدا sprites/ و glyphs/: يحتويان على الأيقونات والخطوط المستخدمة في الخريطة.
أسهل طريقة للحصول عليها هي:
1. حمّل نموذجاً جاهزاً: استخدم المشروع التجريبي الجاهز كمصدر. اذهب إلى هذا الرابط. 2. انسخ المجلدات: ستجد داخل المشروع مجلد app/src/main/assets/ يحتوي على جميع الملفات التي تحتاجها (ملف .mbtiles، ملف style.json، ومجلدا sprites و glyphs). 3. الصقها في مشروعك: انسخ مجلد assets بالكامل والصقه في نفس المسار داخل مشروعك الجديد (app/src/main/assets/).
الخطوة 3: تعديل ملف النمط (style.json)
افتح ملف style.json الذي نسخته. ابحث عن الجزء الخاص بـ "sources" وعدّل المسار ليشير إلى ملف .mbtiles الذي لديك:
قم بتغيير "___FILE_URI___" ليصبح المسار الصحيح لملفك، مثلاً: "asset://map.mbtiles".
الخطوة 4: كتابة كود عرض الخريطة
الآن، في ملف الـ MainActivity.kt أو أي مكان في الـ Compose، أضف هذا الكود البسيط لعرض الخريطة:
```kotlin import org.ramani.maps.maplibre.MapLibre // ... باقي الاستيرادات
@Composable fun MyMap() { MapLibre(modifier = Modifier.fillMaxSize()) } ```
ونصيحة أخيرة: بدلاً من البدء بمشروعك الكبير (٨٢ ميجا)، طبق هذه الخطوات على مشروع تجريبي صغير أولاً. بمجرد أن ترى الخريطة تعمل وتفهم الآلية، سيكون من السهل جداً نقل هذه المعرفة إلى تطبيقك الرئيسي.
هل تواجه أي صعوبة في أي من هذه الخطوات؟ أخبرني أين وصلت وسأساعدك في تجاوزها..
التطبيق تطبيقق ملاحة برية يعمل بدوون إنترنت عبر توجيه البوصله فيه توجيه عبر خرائط قوقل بحال وجود انترنت المطلوب إضافة خرايط مجانيه للتطبيق بحيث يتيح للمستخدم التوجه من خلال البوصله او الخريطه للهدف المختار والتطبيق مع إمكانية رسم مسار تتبع الأثر الخريطه المطلوبه ل دول الخليج والأردن و طلب تحميل الخريطه من المستخدم حسب دولته ووجود قائمك تحميل الخرايط. ارجو المساعده من اهل الخبره. أهل الخبره تقييم ممتاز أن تكون الخدمة معروضه ضمن خدماته
يعطيك العافية عايز تضيف خرائط اوفلاين وتخلي المستخدم يحمل خريطة دولته من جوا التطبيق الكود اللي فوق هيقف معاك عند النقطة دي بالذات لان asset معناه ان ملف الخريطة متحطوط جوا الابك وقت البناء فمفيش حاجة المستخدم يحملها بعد كده الصح ان الملف ينزل وقت التشغيل في تخزين التطبيق ويتقرا بمسار ملف عادي ولازم كمان مجلدات glyphs و sprites تبقى محلية غير كده الخريطة بتطلع فاضية اول ما النت يفصل عندي 30+ تطبيق منشور باسم iStack على جوجل بلاي و Mohamed Haizoun على الاب ستور وفيهم شغل خرائط وتتبع مسار ملفات الخليج والاردن حجمها كام عندك دلوقتي؟