نظرة عامة
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
تضيف حزمة تطوير البرامج للتنقّل على أجهزة Android ميزات التنقّل إلى حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" لتطبيقات Android. إذا كان تطبيق Android الذي يستند إلى "خرائط Google" يحتاج إلى ميزات التنقّل، يجب أن يعتمد على حزمة تطوير البرامج للتنقّل على أجهزة Android.
ومع ذلك، تتشابه معظم الوظائف في "حزمة تطوير البرامج بالاستناد إلى بيانات خرائط Google" لنظام التشغيل Android مع الوظائف في "حزمة تطوير البرامج للتنقّل" على أجهزة Android. ويمكنك الوصول إليها باستخدام الحزمة com.google.android.gms.maps
نفسها، بغض النظر عن ملحق حزمة SDK الذي تستخدمه.
يعني ذلك أنّه إذا كان تطبيقك يعتمد سابقًا على
حزمة تطوير البرامج (SDK) لخدمة "خرائط Google" لنظام التشغيل Android، يمكنك تغيير الاعتماد إلى
حزمة تطوير البرامج (SDK) لخدمة "الملاحة" لنظام التشغيل Android بدون التأثير في وظائف تطبيقك الحالية، مع
استثناءَين جديرَين بالذكر:
- واجهات برمجة التطبيقات التي تعرض استثناءً
- واجهات برمجة التطبيقات التي لا تعمل في NavSDK وليس لها أي تأثير عند طلبها
في ما يلي توضيح لهذه الاستثناءات.
واجهات برمجة التطبيقات التي تعرض استثناءً
تعرض الدالة التالية استثناءً إذا كان تطبيقك يتيحها:
واجهات برمجة التطبيقات التي لا تتضمّن وظائف في حزمة Navigation SDK
لا تتضمّن واجهات برمجة التطبيقات التالية أي وظائف في Navigation SDK، ولكن ليس لها أي تأثير أيضًا إذا كان الرمز الخاص بك يستدعيها. وتندرج ضمن الفئات التالية:
- واجهات برمجة التطبيقات الخاصة بالنشاط على الأجهزة القابلة للارتداء
- يمكنك تفعيل خلاصة TBT بدلاً من ذلك إذا كنت تريد هذه الوظيفة في حزمة تطوير البرامج للتنقّل على أجهزة Android.
- واجهات برمجة التطبيقات الأخرى
واجهات برمجة التطبيقات للأجهزة القابلة للارتداء
من المفترض أنّ GoogleMapOptions.ambientEnabled(boolean enabled) تتيح لك إيقاف وضع الاستراحة أو تفعيله لتطبيقات الأجهزة القابلة للارتداء. بالإضافة إلى ذلك، يتوفّر الإجراءان onEnterAmbient وonExitAmbient في MapView وMapFragment، ولكن ليس لهما أي تأثير عند استدعائهما. بالنسبة إلى الأجهزة القابلة للارتداء، استخدِم خلاصة التنقّل خطوة بخطوة بدلاً من ذلك.
واجهات برمجة التطبيقات الأخرى
واجهات برمجة التطبيقات المخصّصة فقط لعملاء "خدمات التنقّل"
تتضمّن حزمة تطوير البرامج (SDK) للتنقّل عدة واجهات برمجة تطبيقات مخصّصة فقط لعملاء خدمات التنقّل الذين تحصّل منهم Google رسومًا على أساس كل معاملة. إذا لم تكن من عملاء "خدمات التنقّل"، لن يكون بإمكانك استخدام الطرق التالية:
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-08-31 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-08-31 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\u003cp\u003eThe Navigation SDK for Android provides navigation features on top of the Maps SDK for Android and is a required dependency for apps needing navigation.\u003c/p\u003e\n"],["\u003cp\u003eMost Maps SDK functionalities remain the same in the Navigation SDK, accessible via the \u003ccode\u003ecom.google.android.gms.maps\u003c/code\u003e package.\u003c/p\u003e\n"],["\u003cp\u003eCertain APIs behave differently in the Navigation SDK, either throwing exceptions (like LiteMode) or having no functionality (like wearable APIs and custom LocationSource).\u003c/p\u003e\n"],["\u003cp\u003eFor wearable apps, the TBT feed should be used instead of ambient mode functionalities.\u003c/p\u003e\n"],["\u003cp\u003eSome APIs are exclusively for Mobility Services customers and function as no-ops for other users.\u003c/p\u003e\n"]]],[],null,["# Overview\n\nThe Navigation SDK for Android adds navigation features to the\nMaps SDK for Android. If your Google Maps-powered Android application\nneeds navigation features, it must depend on the Navigation SDK for Android.\n\nThat said, most functions in the Maps SDK for Android behave the same in\nthe Navigation SDK for Android. You access them using the same\n`com.google.android.gms.maps` package, no matter which SDK dependency you use.\nThis means that, if your app previously depended on the\nMaps SDK for Android, you can change its dependency to the\nNavigation SDK for Android without affecting the existing functionality of your app, with\ntwo notable exceptions:\n\n- APIs that throw an exception.\n- APIs that don't function in the NavSDK and have no impact when called.\n\nThese exceptions are described below.\n\nAPIs that throw an exception\n----------------------------\n\nThe following function throws an exception if your application enables it:\n\n- [LiteMode](/maps/documentation/navigation/android-sdk/reference/com/google/android/gms/maps/GoogleMapOptions#liteMode(boolean))\n\nAPIs with no functionality in Navigation SDK\n--------------------------------------------\n\nThe following APIs have no functionality in the Navigation SDK, but also have no\nimpact if your code calls them. They fall into the following categories:\n\n- APIs for wearable activity.\n - Enable [TBT feed](/maps/documentation/navigation/android-sdk/tbt-feed) instead if you want this functionality in the Navigation SDK for Android.\n- Other APIs.\n\n### APIs for wearables\n\n[GoogleMapOptions.ambientEnabled(boolean enabled)](/maps/documentation/navigation/android-sdk/reference/com/google/android/gms/maps/GoogleMapOptions#ambientEnabled(boolean)) would\nnormally allow you to disable or enable [ambient mode](/maps/documentation/android-sdk/wear#ambient) for\nwearable apps. Additionally,\n[onEnterAmbient](/maps/documentation/navigation/android-sdk/reference/com/google/android/gms/maps/MapView#onEnterAmbient(android.os.Bundle))\nand\n[onExitAmbient](/maps/documentation/navigation/android-sdk/reference/com/google/android/gms/maps/MapView#onExitAmbient())\nmethods exist in [MapView](/maps/documentation/navigation/android-sdk/reference/com/google/android/gms/maps/MapView) and [MapFragment](/maps/documentation/navigation/android-sdk/reference/com/google/android/gms/maps/MapFragment), but have\nno impact when called. For wearables, use the [TBT feed](/maps/documentation/navigation/android-sdk/tbt-feed) instead.\n\n### Other APIs\n\n- [Setting a custom LocationSource](/maps/documentation/navigation/android-sdk/reference/com/google/android/gms/maps/GoogleMap#setLocationSource(com.google.android.gms.maps.LocationSource)) does nothing in the NavSDK.\n- All [MapsInitializer](/maps/documentation/navigation/android-sdk/reference/com/google/android/gms/maps/MapsInitializer) APIs.\n- [RuntimeRemoteException](/maps/documentation/navigation/android-sdk/reference/com/google/android/gms/maps/model/RuntimeRemoteException).\n\nAPIs that are only intended for use by Mobility Services customers\n------------------------------------------------------------------\n\n\nThere are several APIs in the Navigation SDK that are only intended for use by [Mobility Services](/maps/documentation/transportation-logistics/mobility) customers, who are billed by Google on a per-transaction basis. If you are not a Mobility Services customer, the following methods are no-ops:\n\n- [`NavigationTransactionRecorder.pickup()`](/maps/documentation/navigation/android-sdk/reference/com/google/android/libraries/navigation/NavigationTransactionRecorder#pickup(com.google.android.libraries.navigation.Waypoint,%20java.util.List%3Cjava.lang.String%3E))\n- [`NavigationTransactionRecorder.dropoff()`](/maps/documentation/navigation/android-sdk/reference/com/google/android/libraries/navigation/NavigationTransactionRecorder#dropoff(com.google.android.libraries.navigation.Waypoint,%20java.util.List%3Cjava.lang.String%3E))\n- [`NavigationTransactionRecorder.generatedTransactionId()`](/maps/documentation/navigation/android-sdk/reference/com/google/android/libraries/navigation/NavigationTransactionRecorder#public-static-string-generatetransactionid)\n- [`Navigator.fetchRouteInfo()`](/maps/documentation/navigation/android-sdk/reference/com/google/android/libraries/navigation/Navigator#public-abstract-listenableresultfuturerouteinfo-fetchrouteinfo-waypoint-waypoint,-routingoptions-routingoptions)\n- [`Navigator.setTransactionIds()`](/maps/documentation/navigation/android-sdk/reference/com/google/android/libraries/navigation/Navigator#public-abstract-void-settransactionids-liststring-transactionids)"]]