الأسئلة الشائعة
تفاصيل المنتج
- كيف يجب عرض إشعار بنود خدمة حزمة Navigation SDK؟
- ما هي اللغات التي تتوفّر بها الإرشادات الصوتية؟
- هل يتم الاحتفاظ بالاتجاه عندما يخرج السائق من وضع التنقّل؟
- هل تتوفّر الخطوط المتعددة عند بدء مسيرة أو تغيير مسار؟
- هل يجب أن يكون تطبيق "خرائط Google" مثبّتًا على الأجهزة الجوّالة لدى مستخدمي التطبيق؟
- هل يمكن لحزمة Navigation SDK تحديد مواقف السيارات بالقرب من المطاعم والوجهات الأخرى؟
- هل تعرِض حزمة Navigation SDK اتجاه حركة المرور في المسارات عند الاقتراب من نقطة انعطاف؟
المشاكل
- في Xcode 12، لا يتم إنشاء التطبيقات بشكل صحيح للمحاكي. كيف يمكنني حلّ هذه المشكلة؟
- تعذُّر تحميل
GMSMapView
الشبكة
البيانات
- هل يمكنني استرداد جميع المحطات/الوجهات في رحلة قبل بدء المسار؟
- هل تتوفّر ميزة التوجيهات المفصّلة للمسار في بداية المسار؟
- كيف يتم إبلاغ مستخدمي التطبيق بالوقت المقدَّر للوصول؟ (ETA)
- هل يمكن استخدام
RoadSnappedLocationProvider
للحصول على الموقع الجغرافي الحالي للسائق المُجمَّع إذا لم تكن ميزة التنقّل في المقدّمة؟ - هل توفّر حزمة تطوير البرامج (SDK) للتنقّل ميزة وضع حدود جغرافية؟
- هل يمكنني إيقاف الإشعارات عندما يكون تطبيق "التنقّل" في الخلفية؟
تخصيص واجهة المستخدم
- هل يمكنني استخدام ترميز ألوان لأفضل خيار مسار؟
- هل يمكن لحزمة تطوير البرامج (SDK) للتنقّل عرض وقت الوصول المقدَّر للوجهة النهائية؟
- كيف يمكنني إخفاء تعديلات وقت الوصول المقدَّر؟
- ما هي تخصيصات واجهة المستخدم التي تتوفّر لبطاقتَي الرأس والتذييل؟
يتم الآن تخطيط المسار
- هل يمكنني تقديم مسار محدّد للسائق أو إزالة المسارات البديلة؟
- هل يمكنني عرض تصنيف مختلف للوجهة على السائق عن الموقع الجغرافي التلقائي للوجهة؟
- هل يمكنني استخدام حزمة تطوير البرامج (SDK) للتنقّل لتتبُّع الانحرافات عن مسار محدّد؟
- هل يمكن للسائق الخروج من وضع التنقّل بدون إكمال المسار؟
مُحاكي
Workflows
خدمات النقل
- ما هي أوجه الاختلاف بين استخدام حزمة Navigation SDK وعملاء "خدمات التنقّل"؟
- كيف يمكنني معرفة ما إذا كنتُ من عملاء "خدمات النقل"؟
- كيف يتم تحصيل رسوم حزمة تطوير البرامج Navigation SDK لعملاء "خدمات التنقّل"؟
- ما هي واجهات برمجة التطبيقات لـ Navigation SDK التي يجب أن يستخدمها عملاء Mobility Services فقط؟
- إذا كنت من عملاء Mobility Services، هل يمكنني أيضًا استخدام حزمة تطوير البرامج (SDK) لنظام التنقّل من خلال عملية تنفيذ غير مرتبطة بـ Mobility Services؟
تفاصيل المنتج
- يجب أن يعرض تطبيقك مربّع حوار يتضمّن إشعار بنود خدمة حزمة تطوير البرامج (SDK) للتنقّل على كل سائق أن يوافق عليه. يمنح مربّع الحوار هذا الفرصة للسائق للموافقة على بنود الخدمة. يتم توفير ملف نصي للأحكام مع حزمة تطوير البرامج (SDK) لنظام التنقّل.
- في Android، استخدِم الطريقة
NavigationApi.showTermsAndConditionsDialog
لعرض مربّع الحوار الذي يحتوي على البنود. - على جهاز iOS، اتصل بالرقم
GMSNavigationServices.showTermsAndConditionsDialogIfNeededWithCompanyName
. - تتوفّر تلقائيًا أي لغات متوافقة مع تطبيق "خرائط Google" للأجهزة الجوّالة لحزمة تطوير البرامج Navigation SDK. يحتوي الجهاز على لغة نظام تلقائية ولا يمكن للتطبيق تغيير هذا الإعداد، ومع ذلك، يمكن للتطبيق الوصول إلى أكثر من 70 لغة.
-
نعم. في Android، بعد بدء
LocationListener
، يستمر تشغيله في الخلفية. يواصل تطبيقك التقاط خطوط الطرق وتحديد مواضعها مع الحفاظ على اتجاه المسار.في نظام التشغيل iOS، لمواصلة تلقّي تعديلات الموقع الجغرافي للموقع والاتجاه في الخلفية، عليك تنفيذ ميزة "الربط بالطريق" وضبط
allowsBackgroundLocationUpdates
علىYES
. -
نعم. عند إنشاء مسار أو تغييره، يوفّر
RouteChangeListener
خطوطًا متعددة. - لا، لا تتطلّب حزمة تطوير البرامج Navigation SDK تثبيت تطبيق "خرائط Google" على الجهاز.
- لا، لا توفّر حزمة تطوير البرامج (SDK) لنظام التنقّل هذه الوظيفة في الوقت الحالي.
- نعم. يتوفّر اتجاه حركة المرور ويتم عرضه تلقائيًا.
المشاكل
- في Xcode 12، لا يتم إنشاء التطبيقات بشكل صحيح للمحاكي. كيف يمكنني حلّ هذه المشكلة؟
-
لحلّ هذه المشكلة، افتح "إعدادات الإنشاء" لمشروع Xcode وأضِف
arm64
إلىExcluded Architectures
لإصدارات "محاكي iOS" فقط.لمزيد من المعلومات، يُرجى الاطّلاع على سلسلة محادثات StackOverflow التالية.
- لا يتم تحميل GMSMapView.
-
في حال عدم تحميل GMSMapView:
- تأكَّد من تفعيل NavSDK في Cloud Console.
- إذا تم تثبيت حزمة تطوير البرامج Nav SDK، ولكنّ مشروعك لا يستخدم واجهات برمجة التطبيقات الخاصة بها، عليك إزالتها من البرنامج الثنائي.
الشبكة
- كيف تتعامل حزمة تطوير البرامج Navigation SDK مع ضعف الاتصال بالإنترنت؟
- تخزّن حزمة Navigation SDK المسار لكل رحلة مسبقًا في ذاكرة التخزين المؤقت. وتشمل المعلومات المخزّنة مسبقًا معلومات عن المسار لمدة تتراوح بين 15 و20 دقيقة، ومسارات بديلة في حال انحراف السائق عن المسار. تقترب برمجة تنمية البرامج (SDK) Navigation من تحديد الموقع الجغرافي باستخدام نظام تحديد المواقع العالمي (GPS) وأدوات قياس الإشارات في الجهاز.
- هل يتوفّر وضع بلا إنترنت؟
- لا، لا توفّر حزمة SDK لميزة التنقّل حاليًا وضع عدم الاتّصال بالإنترنت، ولكنّها توفّر معلومات محفوظة مؤقتًا في ذاكرة التخزين لرحلة معيّنة.
البيانات
- هل يمكنني استرداد جميع المحطات أو الوجهات في رحلة قبل بدء المسار؟
-
نعم. في Android، لاسترداد اتّجاهات مسار معيّن، اتصل بالرقم
Navigator.getRouteSegments()
.على جهاز iOS، اتصل بالرقم
GMSNavigator.routeLegs(read)
. - هل تتوفّر إرشادات مفصّلة للمسار في بداية الرحلة؟
- نعم. توفّر حزمة SDK لميزة التنقّل قائمة بمقاطع المسار. بالإضافة إلى ذلك، يمكن للسائق التمرير سريعًا في بطاقة الاتجاهات في العنوان لعرض كل مناورة.
- كيف يتم إبلاغ مستخدمي التطبيق بالوقت المقدَّر للوصول؟
-
في Android، اتّبِع الخطوات التالية لتقديم معلومات وقت الوصول المقدَّر لمستخدمي التطبيق:
- استرداد الوقت والمسافة لجميع نقاط الالتفاف باستخدام
Navigator.getTimeAndDistanceList()
- أعِد توجيه هذه المعلومات إلى تطبيق العميل كما تفعل حاليًا مع الوقت المقدَّر للوصول الخاص بالسائق.
في نظام التشغيل iOS، اتّبِع الخطوات التالية لتقديم معلومات وقت الوصول المقدَّر لمستخدمي التطبيق:
- استرداد المراحل في الرحلة باستخدام
Navigator.getRouteSegments()
- يُرجى الاتصال على
GMSNavigator.timeToNextDestination
لكل مرحلة من مراحل الرحلة. - إعادة توجيه معلومات الوقت إلى تطبيق العميل كما تفعل حاليًا مع الوقت المقدَّر للوصول
- استرداد الوقت والمسافة لجميع نقاط الالتفاف باستخدام
-
هل يمكن استخدام
RoadSnappedLocationProvider
للحصول على الموقع الجغرافي المُجمَّع الحالي للسائق إذا لم تكن ميزة التنقّل في المقدّمة؟ -
نعم. في Android، يعمل تطبيق
RoadSnappedLocationProvider
في الخلفية تلقائيًا.في نظام التشغيل iOS، لإبقاء التنقّل قيد التشغيل في الخلفية، نفِّذ مستمع
GMSRoadSnappedLocationProviderListener
، واضبط السمةallowsBackgroundLocationUpdates
علىTRUE
. - هل تتوافق حزمة Navigation SDK مع ميزة وضع حدود جغرافية؟
-
لا، في سياق التنقّل، تتمتع
remainingTimeOrdistanceChangeListener
بميزة مقارنةً بحدود جغرافية بسيطة. قد لا يراعي السياج الجغرافي شكل الطريق، وقد لا يكون مركزه في النقطة الدقيقة التي يوجّه إليها السائق.يمكنك تقريب هذه الوظيفة باستخدام
remainingTimeOrdistanceChangeListener
.- اضبط الحدّ الأدنى لتحديد معدّل تكرار عمليات تسجيل المكالمات.
- تحقَّق من المسافة المتبقية إلى الوجهة.
على سبيل المثال، إذا ضبطت الحدّ الأدنى على 100 متر، ستتلقّى مكالمة هاتفية عند تغيُّر المسافة إلى الوجهة بمقدار 100 متر. مع انخفاض المسافة، يمكنك تعديل هذا الحدّ الأدنى إلى قيمة أصغر والحصول على عمليات معاودة اتصال أكثر تكرارًا. بعد ذلك، تحقّق من المسافة المتبقية لتحديد ما إذا كنت قريبًا بما يكفي من موقع الاستلام/الإرجاع.
في نظام التشغيل iOS، يمكنك تنفيذ المستمع
GMSNavigatorListener.didUpdateRemainingDistance
لإدارة المسافة بين الإشعارات. - هل يمكنني إيقاف الإشعارات عندما يكون تطبيق "التنقّل" في الخلفية؟
-
نعم. في Android، استخدِم
Navigator.setHeadsUpNotificationEnabled
للتحكّم في الإشعارات. تحتوي هذه الطريقة على وسيطة منطقية. يؤدي النقر علىFALSE
إلى إيقاف الإشعارات، بينما يؤدي النقر علىTRUE
إلى تفعيلها.في نظام التشغيل iOS، أوقِف الإشعارات التي تعمل في الخلفية للمواقع الجغرافية التي تم التقاطها من الطريق من خلال ضبط
GMSRoadSnappedLocationProvider.allowsBackgroundLocationUpdates
على "لا".لإيقاف معالجة الإشعارات الأخرى بشأن الموقع الجغرافي في الخلفية، يُرجى الاتصال على الرقم
GMSNavigator.sendsBackgroundNotifications(NO)
.
تخصيص واجهة المستخدم
- هل يمكنني استخدام ترميز ألوان لأفضل خيار مسار؟
- لا، لا يمكن حاليًا استخدام ترميز الألوان لمسار معيّن.
- هل يمكن لحزمة Navigation SDK عرض وقت الوصول المقدَّر إلى الوجهة النهائية؟
-
نعم. في Android، استخدِم الطرق التالية:
- استرداد الوقت والمسافة لجميع نقاط الالتفاف باستخدام
Navigator.getTimeAndDistanceList()
- يمكنك إخفاء الوقت المقدَّر للوصول إلى نقطة المرور الحالية باستخدام رمز
NavigationFragment.setEtaCardEnabled(false)
. - عرض وقت الوصول المقدَّر إلى الوجهة النهائية
في نظام التشغيل iOS، استخدِم ما يلي:
- تواصل هاتفيًا مع "
GMSNavigator.routeLegs(read)
". - في المرحلة الأخيرة، يُرجى الاتصال بالرقم التالي:
GMSNavigator.timeToNextDestination
. - يمكنك إخفاء الوقت المقدَّر للوصول إلى نقطة الالتفاف الحالية باستخدام
MSMapView.settings.navigationFooterEnabled=NO
إلى خطأ. - عرض وقت الوصول المقدَّر إلى الوجهة النهائية
- استرداد الوقت والمسافة لجميع نقاط الالتفاف باستخدام
- كيف يمكنني إخفاء تعديلات وقت الوصول؟
-
يمكنك إيقاف بطاقات وقت الوصول المقدَّر باستخدام الطرق التالية:
- في Android، استخدِم
navigationView.setEtaCardEnabled(false)
. - في نظام التشغيل iOS، استخدِم
GMSMapView.settings.navigationFooterEnabled=NO
.
- في Android، استخدِم
-
في Android، يمكنك استخدام
StylingOptions
لضبط تنسيق اللون في الخلفية. لإخفاء الرأس والقدم أو إظهارهما، استخدِم الدالتَين العضويتَينsetHeaderEnabled
وsetFooterEnabled
منNavigationFragment
.في نظام التشغيل iOS، استخدِم
GMSMapView.settings.navigationHeaderPrimaryBackgroundColor
لضبط تصميم لون الخلفية. لإخفاء الرأس والتذييل أو إظهارهما، استخدِم السمتَينnavigationFooterEnabled
وnavigationHeaderEnabled
فيGMSUISettings
.
يتم الآن تخطيط المسار
- هل يمكنني تقديم مسار محدّد للسائق أو إزالة المسارات البديلة؟
- لا، يتم تلقائيًا توفير مسارات متعددة، وتُعطى الأولوية للمسار الأسرع. يمكنك التأثير في المسار التلقائي من خلال إضافة الإعدادات المفضّلة، مثل "تجنُّب الطرق السريعة ورسوم العبور"، إلى طلبك. تؤثر إضافة نقاط الطريق أيضًا في المسار.
- هل يمكنني عرض تصنيف مختلف للوجهة على مستخدم التطبيق عن الموقع الجغرافي التلقائي للوجهة؟
-
نعم. في Android، أنشئ
Marker
باستخدام عنوان مخصّص للوجهة وخطوط الطول/العرض. تعرِض Navigation SDK العنوان المخصّص والإحداثيات علىNavigationMap
.في نظام التشغيل iOS، يمكنك إنشاء
GMSMarker
وعرضه للوجهة. - هل يمكنني استخدام حزمة تطوير البرامج (SDK) للتنقّل لتتبُّع الانحرافات عن مسار محدّد؟
-
نعم. في Android، استخدِم
Navigator.setRouteChangedListener
لتلقّي إشعارات عند تغيير مسار أو اقتراح مسار جديد:- سجِّل مستمعًا يتحقّق من موضع الجهاز على طول المسار
باستخدام طريقة
Navigator.setRouteChangedListener
. - أضِف رمزًا إلى معالج حدث ردّ الاتصال،
onRouteChanged
:- أرسِل رسالة إلى مستخدم التطبيق تتضمّن معلومات محدّثة عن الوقت المقدَّر للوصول والمسافة.
- تتبُّع الموقع الجغرافي للجهاز
- [اختياري] أضِف وظائف أخرى يطلبها تطبيقك للتعامل مع الحالات التي يخرج فيها السائق عن المسار المحدَّد.
في نظام التشغيل iOS، استخدِم
GMSNavigator
والمستمعين له لتلقّي إشعارات عند تغيير مسار أو اقتراح مسار جديد:- في وحدة التحكّم في عرض الخريطة، نفِّذ بروتوكول
GMSNavigatorListener
و بروتوكولGMSRoadSnappedLocationProviderListener
. - تنفيذ
GMSNavigatorListener.navigatorDidChangeRoute
- يمكنك الوصول إلى المسار الجديد باستخدام السمتَين
routeLegs
وcurrentRouteLeg
فيGMSNavigator
.
- سجِّل مستمعًا يتحقّق من موضع الجهاز على طول المسار
باستخدام طريقة
-
نعم. في Android، يمكنك استدعاء الطريقة
Navigator.stopGuidance()
ل إيقاف التنقّل.على جهاز iOS، اتصل بالرقم
GMSNavigator.clearDestinations
.
مُحاكي
- هل يتيح المحاكي تغييرات المسار؟
-
نعم. في Android، اتصل بالرقم
simulateLocationsAlongNewRoute
لمحاولة محاكاة رحلة تتضمّن تغيير مسار. تتجاهل طريقةsimulateLocationsAlongExistingRoute
التغييرات التي تطرأ على المسار الحالي.في نظام التشغيل iOS، استخدِم
GMSLocationSimulator.simulateAlongNewRouteToDestinations
لمحاكاة رحلة تتضمّن تغيير مسار. إذا كنت لا تتوقّع أي تغييرات في المسار، يمكنك استخدامGMSLocationSimulator.simulateLocationsAlongExistingRoute
أوGMSLocationSimulator.simulateAlongNewRouteToDestinations
.
Workflows
- كيف يمكنني إغلاق الإشعار بعد إغلاق نشاط يحتوي على جزء تنقّل؟
-
يبقى إشعار التنقّل مرئيًا أثناء التنقّل، وعندما يكون النشاط مغلقًا. عند وصول المركبة إلى الوجهة، تتوقف عملية التنقّل ويختفي الإشعار.
لمعالجة النقرات على الإشعار، استخدِم الرمز
Navigator.startGuidance(intent resumeIntent)
. يتم تشغيل الإجراءresume intent
عندما ينقر مستخدم التطبيق على الإشعار. يتم عادةً استدعاءNavigator.startguidance(getIntent())
من النشاط الرئيسي الذي يُعيد النشاط عندما ينقر مستخدم التطبيق على الإشعار.
خدمات النقل
توفّر "خدمات النقل" في "منصّة خرائط Google" مجموعة من واجهات برمجة التطبيقات وحِزم تطوير البرامج (SDK) للمساعدة في تلبية احتياجات المؤسسات في مجال النقل والخدمات اللوجستية. بالنسبة إلى عملاء "خدمات النقل"، يتم استخدام حزمة تطوير البرامج (SDK) لميزة التنقّل عادةً مع الخدمات ذات الصلة لتحسين المسار والإرسال وتتبُّع المهام وتحليلات الأسطول وغير ذلك. يتم أيضًا إصدار فواتير مختلفة لعملاء "خدمات التنقّل" مقابل حزمة تطوير البرامج Navigation SDK. لمزيد من المعلومات، يُرجى الاطّلاع على مستندات خدمات التنقّل.
لا تتوفّر منتجات "التنقّل" حاليًا إلا لمجموعة محدّدة من العملاء. يُرجى التواصل مع ممثل المبيعات للحصول على مزيد من المعلومات.
ReportBillableEvent
في الرمز البرمجي. على عملاء "خدمات النقل" فقط الاتصال باستخدام الطريقة ReportBillableEvent
.
هناك العديد من واجهات برمجة التطبيقات في حزمة تطوير البرامج (SDK) لميزة التنقّل مخصّصة فقط لاستخدام عملاء خدمات النقل الذين تُحصّل Google منهم الرسوم على أساس كل معاملة. إذا لم تكن من عملاء "خدمات النقل"، لن تكون الطرق التالية مفيدة لك:
نعم، يمكن لعملاء Mobility Services استخدام حزمة تطوير البرامج (SDK) لنظام التنقّل في كلّ من عمليات التنفيذ التي تتضمن Mobility Services وتلك التي لا تتضمنها. ومع ذلك، يمكنك استخدام نوع تنفيذ واحد فقط في تطبيق واحد في المرة الواحدة. عليك أيضًا إنشاء مشروع جديد على Google Cloud وحساب فوترة ومفتاح واجهة برمجة تطبيقات جديدَين، ويجب أن يكونا منفصلَين عن المشروع وحساب الفوترة ومفتاح واجهة برمجة التطبيقات اللذين تستخدمهما مع عملية تنفيذ "خدمات النقل". لمزيد من المعلومات، يُرجى الاطّلاع على نظرة عامة على إعداد حزمة تطوير البرامج (SDK) لنظام التنقّل.
لمزيد من المعلومات عن استخدام حزمة Navigation SDK من خلال عملية تنفيذ غير مرتبطة بخدمات النقل، بما في ذلك نقل تطبيق من نوع تنفيذ إلى آخر، يُرجى التواصل مع ممثل حسابك على Google.
ملاحظة: إذا لم تكن حاليًا من عملاء Mobility Services وكنت مهتمًا بالاطّلاع على مزيد من المعلومات عن مجموعة Mobility Services من واجهات برمجة التطبيقات وحِزم تطوير البرامج (SDK)، يُرجى التواصل مع فريق المبيعات في Google Maps Platform.