الغابة gif

50,000 عملية تحميل خرائط مجانية كل شهر. نبدأ الآن!

يمنحك Flightmap Navigation SDK لنظام Android جميع الأدوات التي تحتاجها لإضافة التنقل خطوة بخطوة إلى تطبيقاتك. يمكنك الاستعداد والتشغيل في غضون بضع دقائق من خلال التنقل خطوة بخطوة ، أو إنشاء تجربة تنقل مخصصة أكثر من خلال مكونات واجهة مستخدم التنقل الخاصة بنا.

دمج Navigation SDK في مشروعك

قبل تطوير تطبيقك باستخدام Flightmap Navigation SDK ، ستحتاج إلى إضافة العديد من التبعيات. يستخدم Android Studio مجموعة أدوات تسمى Gradle لتجميع الموارد وكود المصدر في ملف APK. يتم استخدام ملف build.gradle لتكوين تبعيات البناء والقائمة. يجب عليك إضافة Navigation UI SDK كعنصر تبعية في قسم المستودعات. سيؤدي إعلان هذه التبعية إلى سحب كل من Flightmap Navigation SDK لنظام Android و Flightmap Maps SDK لنظام Android. هذا هو السبب في عدم إدراج خطوط التبعية الأساسية لـ Navigation SDK و Maps SDK في مقتطف رمز التثبيت أدناه.

  • في ملف build.gradle (مشروع جذر) على مستوى الوحدة النمطية ، أضف التبعيات التالية في محتويات build.gradle (الجذر).

  • جميع المشاريع {
        مستودعات {
            متصفح الجوجل()
            jcenter ()
            مافن {url 'https://mapbox.bintray.com/mapbox'}
            مافن {url 'https://dl.bintray.com/flightmap/com.flightmap'}
            مافن {url 'https://dl.bintray.com/flightmap/flightmapnavigationsdk'}
            مافن {url 'https://dl.bintray.com/flightmap/flightmapjavasdk'}
        }
    }

  • في وحدة التطبيق -level build.gradle (وحدة التطبيق) أضف التبعيات التالية قبل تنفيذ المكتبة:

  • ذكري المظهر {
        خيارات التجميع {
            المصدر التوافق JavaVersion.VERSION_1_8
            التوافق مع الهدف JavaVersion.VERSION_1_8
        }
    }
    // التبعية لـ Flightmap Maps Sdk
    تنفيذ "flightmapsdk.flightmaplightsdk: خريطة الرحلة: 1.4.0"
    // التبعية لـ Flightmap Navigation Sdk
    تنفيذ "flightmapnavigationsdk: mapbox-android-navigation-ui: 1.5.2"

لإنشاء NavigationRouteOptions

getRoute باطل خاص (أصل النقطة ، وجهة النقطة) {
    NavigationRoute.builder (هذا)
        .accessToken (أضف رمز FM الخاص بك هنا)
        .origin (الأصل)
        .destination (الوجهة)
        .يبني()
        .getRoute (رد اتصال جديد () {
          @تجاوز
          الفراغ العام onResponse (Call الاتصال والاستجابة استجابة) {
            Log.d (TAG، "رمز الاستجابة:" + response.code ()) ؛
            إذا (response.body () == null) {
              Log.e (TAG ، "لم يتم العثور على مسارات ، تأكد من تعيين المستخدم الصحيح ورمز الوصول.") ؛
             العودة؛
            } else if (response.body (). route (). size () <1) {
              Log.e (TAG، "لم يتم العثور على مسارات") ؛
              العودة؛
            }
            currentRoute = response.body (). route (). get (0)؛
            إذا (navigationMapRoute! = خالية) {
              navigationMapRoute.removeRoute () ،
            {} آخر
              navigationMapRoute = NavigationMapRoute جديدة (خالية ، mapView ، mapboxMap ، R.style.NavigationMapRoute) ؛
            }
            navigationMapRoute.addRoute (currentRoute) ،
          }
          @تجاوز
          الفراغ العام onFailure (Call نداء ، قابل للرمي) {
            Log.e (TAG، "Error:" + throwable.getMessage ()) ؛
          }
        })؛
}

خريطة الرحلة
ابدأ مسار الملاحة

button.setOnClickListener (عرض جديد. OnClickListener () {
        @تجاوز
        public void onClick (View v) {
            // اضبط هذا على التنقل تلقائيًا في الخريطة
            منطقية simulateRoute = خطأ ؛
            NavigationLauncherOptions options = NavigationLauncherOptions.builder ()
                .directionsRoute (currentRoute)
                .shouldSimulateRoute (simulateRoute)
                .يبني()؛
            NavigationLauncher.startNavigation (MainActivity.this ، options) ؛
        }
})؛

خريطة الرحلة

دعونا نجد طريقة معا

تواصل معنا للتعرف على خطط الأسعار الخاصة بنا

تواصل معنا