الأسئلة الشائعة
حقائق عن المنتج
- ما هي الخطوات التي يجب اتّباعها لبنود حزمة تطوير البرامج (SDK) للتنقل بإشعار الخدمة؟
- ما هي اللغات التي تتوفّر بها ميزة "الإرشاد الصوتي"؟
- هل يتم صيانة الاتجاه عند قيادة السائق هل تريد الخروج من وضع التنقّل؟
- هل تتوفّر الخطوط المتعددة عند البدء؟ أو تغيير مسار الرحلة؟
- هل يحتاج مستخدمو التطبيق إلى توفُّر "خرائط Google" على الجهاز الجوّال؟
- هل يمكن لحزمة تطوير البرامج (SDK) الخاصة بالتنقّل تحديد مواقف السيارات بالقرب من المطاعم والوجهات الأخرى؟
- هل تعمل حزمة SDK المخصصة للتنقل إظهار اتجاه حركة المرور في الممرات عند الاقتراب من نقطة تحوّل؟
- حزمة SDK للتنقّل هل يجب أن يقتصر استخدام واجهات برمجة التطبيقات على عملاء "خدمات الجوّال"؟
المشاكل
- في Xcode 12، لا تستخدم التطبيقات البناء بشكل صحيح للمحاكي. كيف يمكنني حلّ هذه المشكلة؟
- لا يتم تحميل
GMSMapView
.
الشبكة
- كيف تؤثر هل تتعامل حزمة تطوير البرامج (SDK) الخاصة بالتنقّل مع اتصال ضعيف؟
- هل وضع عدم الاتصال بالإنترنت متاح؟
البيانات
- هل يمكنني استرداد جميع محطّات التوقّف/الوجهات في رحلة قبل بدء المسار؟
- هل تتوفر ميزة الإرشادات المفصّلة على المسار؟ في بداية المسار؟
- ما هو الوقت المقدّر للوصول؟ (ETA) التي تم إبلاغ مستخدمي التطبيق بها؟
- هل بإمكان
RoadSnappedLocationProvider
استخدامها للحصول على معلومات الموقع الجغرافي الحالي الذي تم قطعه إذا لم يكن التنقّل في المقدّمة؟ - هل تعمل حزمة SDK المخصصة للتنقل أتاحت وضع حدود جغرافية؟
- هل يمكنني إيقاف الإشعارات عندما إذا كان تطبيق "التنقل" يعمل في الخلفية؟
تخصيص واجهة المستخدم
- هل يمكنني ترميز أفضل لون أو خيار المسار؟
- هل يمكن لحزمة تطوير البرامج (SDK) الخاصة بالتنقّل لعرض الوقت المقدّر للوصول للوجهة النهائية؟
- كيف يمكنني إخفاء تعديلات الوقت المقدر للوصول؟
- عمليات تخصيص واجهة المستخدم متوفّر لبطاقات الرؤوس والتذييلات؟
يتم الآن تخطيط المسار
- هل يمكنني تقديم مسار محدد؟ إلى السائق أو إزالة المسارات البديلة؟
- هل يمكنني إظهار تصنيف مختلف للسائق بالنسبة إلى الوجهة وليس الموقع الجغرافي للوجهة التلقائي؟
- هل يمكنني استخدام حزمة تطوير البرامج (SDK) للتنقل تحديد الانحرافات عن مسار محدد؟
- هل يمكن للسائق الخروج من وضع التنقّل بدون إكمال المسار
مُحاكي
Workflows
حقائق عن المنتج
- يجب أن يتضمّن تطبيقك مربّع حوار يحتوي على بنود حزمة تطوير البرامج (SDK) للتنقّل. لإشعار الخدمة بأن يقبله كل سائق. يمنح مربع الحوار هذا السائق الفرصة للموافقة على بنود الخدمة. ملف نصي للبنود مع حزمة SDK للتنقل.
- في Android، استخدِم
NavigationApi.showTermsAndConditionsDialog
لعرض مربع الحوار الذي يحتوي على العبارات. - في نظام iOS، يمكنك الاتصال
GMSNavigationServices.showTermsAndConditionsDialogIfNeededWithCompanyName
- يتم تلقائيًا تنسيق أي لغات مدعومة بواسطة خرائط Google للجوّال المتاحة لحزمة تطوير البرامج للتنقل. يتضمّن الجهاز لغة نظام تلقائية ولا يمكن لأي تطبيق تغيير هذا الإعداد. وَلَكِنْ يمكن للتطبيق الوصول إلى أكثر من 70 لغة.
-
نعم. على نظام Android، بعد أن بدأ
LocationListener
، يواصل تشغيله في الخلفية. يستمر تطبيقك في التقاط الطريق للموضع ويحافظ على المحمل.لمواصلة تلقّي تحديثات الموقع الجغرافي في نظام التشغيل iOS، للموقع الجغرافي والاتجاه في الخلفية، قم بتطبيق تعطُّل الطرق وتعيين
allowsBackgroundLocationUpdates
إلىYES
-
نعم. عند إنشاء مسار أو تغييره، يتم عرض
RouteChangeListener
ويوفر الخطوط المتعددة. - لا، لا تتطلب حزمة تطوير البرامج (SDK) للتنقل تطبيق "خرائط Google" للأجهزة الجوّالة ليتم تثبيته على الجهاز.
- لا، لا توفر حزمة SDK للتنقل هذه الوظيفة في الوقت الحالي الوقت.
- نعم. يكون اتجاه حركة المرور متاحًا وعرضه بشكل تلقائي.
- حزمة SDK للتنقل هل يجب أن يستخدم عملاء "خدمات الجوّال" واجهات برمجة التطبيقات فقط؟
-
هناك العديد من واجهات برمجة التطبيقات في حزمة تطوير البرامج (SDK) المخصّصة للتنقّل المخصصة للاستخدام فقط من قِبل عملاء خدمات التنقل الذين تحصّل Google الرسوم منهم على أساس كل معاملة. إذا لم تكن عميلاً في "خدمات التنقل"، لا تتوفر الطرق التالية:
المشاكل
- في Xcode 12، لا يتم إنشاء التطبيقات بشكل صحيح للمحاكي. كيف يمكنني حلّ هذه المشكلة؟
-
لحلّ هذه المشكلة، افتح إعدادات الإصدار لمشروع Xcode وأضِف
arm64
إلىExcluded Architectures
. عن "محاكي iOS" يُنشئ فقط.لمزيد من المعلومات، يُرجى الاطّلاع على سلسلة محادثات StackOverflow التالية.
- لا يتم تحميل GMSMapView.
-
في حال عدم تحميل GMSMapView:
- تأكَّد من تفعيل NavSDK في Cloud Console.
- في حال تثبيت حزمة تطوير البرامج (SDK) للتنقل، ولكنّ مشروعك لا يستخدم واجهات برمجة تطبيقات Nav SDK، عليك إزالتها من البرنامج الثنائي.
الشبكة
- كيف تتعامل حزمة SDK للتنقل مع الاتصال الضعيف؟
- تُخزِّن حزمة تطوير البرامج (SDK) للتنقّل مؤقتًا المسار مسبقًا لكل رحلة. تتضمن المعلومات المخزنة مؤقتًا مسبقًا معلومات التوجيه لمدة 15-20 دقيقة، وبدائلها في حالة انحراف السائق عن المسار. تشير رسالة الأشكال البيانية تحدد حزمة SDK للتنقل موضعها باستخدام نظام تحديد المواقع العالمي (GPS) للجهاز أجهزة الاستشعار.
- هل وضع عدم الاتصال متاح؟
- لا، لا توفر حزمة SDK للتنقل وضع عدم الاتصال في الوقت الحالي؛ مع ذلك، توفّر حزمة تطوير البرامج (SDK) معلومات مخزَّنة مؤقتًا بشكل مسبق. للقيام برحلة ما.
البيانات
- هل يمكنني استرداد جميع محطات التوقّف/الوجهات في رحلة قبل البدء المسار؟
-
نعم. في Android، لاسترداد الاتجاهات لمسار، اتصل
Navigator.getRouteSegments()
في جهاز iOS، يمكنك الاتصال بالرقم
GMSNavigator.routeLegs(read)
. - هل تتوفر الإرشادات المفصّلة على المسار في بداية المسار؟
- نعم. توفر حزمة SDK للتنقل قائمة بأجزاء المسارات. بالإضافة إلى ذلك، يمكن للسائق التمرير سريعًا خلال بطاقة الاتجاهات في العنوان. لرؤية كل مناورة.
- كيف يتم إعلام مستخدمي التطبيق بالوقت المقدر للوصول؟
-
في Android، اتّبِع الخطوات التالية لمنح مستخدمي التطبيق معلومات الوقت المقدّر للوصول:
- استرجع الوقت والمسافة لجميع نقاط الطريق باستخدام
Navigator.getTimeAndDistanceList()
- يمكنك إعادة توجيه هذه المعلومات إلى تطبيق العميل أثناء حاليًا في الوقت المقدّر للوصول للسائق.
في iOS، اتّبِع الخطوات التالية لتزويد مستخدمي التطبيق بمعلومات الوقت المقدّر للوصول:
- استرجع الساقين في الرحلة باستخدام
Navigator.getRouteSegments()
- يُرجى الاتصال بالرقم
GMSNavigator.timeToNextDestination
لكل مرحلة من مراحل الرحلة. - يمكنك إعادة توجيه معلومات الوقت إلى تطبيق العميل أثناء حاليًا في الوقت المقدّر للوصول للسائق.
- استرجع الوقت والمسافة لجميع نقاط الطريق باستخدام
-
هل يمكن استخدام
RoadSnappedLocationProvider
للحصول على رقم تعريف السائق الموقع الحالي المقطوعة إذا لم يكن التنقل في المقدمة؟ -
نعم. في Android، يتم تشغيل
RoadSnappedLocationProvider
في الخلفية تلقائيًا.في نظام iOS، لإبقاء التنقل قيد التشغيل في الخلفية، استخدم المستمع لـ
GMSRoadSnappedLocationProviderListener
وضبط الموقعallowsBackgroundLocationUpdates
إلىTRUE
. - هل تدعم حزمة تطوير البرامج (SDK) للتنقل تحديد الموقع الجغرافي؟
-
لا. في سياق التنقّل،
remainingTimeOrdistanceChangeListener
أكثر من السياج الجغرافي البسيط. قد لا يأخذ الحدود الجغرافية في الحسبان هندسة الطرق، وقد لا يتم تركيزها على النقطة الدقيقة التي يتنقل السائق.يمكنك تقريب هذه الوظيفة باستخدام
remainingTimeOrdistanceChangeListener
- اضبط الحدّ الأدنى لتحديد معدّل تكرار معاودة الاتصال.
- تحقَّق من المسافة المتبقية إلى الوجهة.
على سبيل المثال، إذا ضبطت الحدّ الأدنى على 100 متر، ستتلقّى معاودة الاتصال عندما تتغير المسافة إلى الوجهة بمقدار 100 متر. ومع انخفاض المسافة، يمكنك تعديل هذا الحدّ إلى قيمة أقل القيمة وتلقي المزيد من معاودة الاتصال. ثم افحص المسافة المتبقية حدد ما إذا كنت قريبًا بدرجة كافية من موقع الاستلام/التوصيل.
في iOS، تنفيذ أداة معالجة البيانات
GMSNavigatorListener.didUpdateRemainingDistance
في إدارة المسافة بين الإشعارات. - هل يمكنني إيقاف الإشعارات عندما يكون تطبيق "التنقل" في الخلفية؟
-
نعم. استخدام
Navigator.setHeadsUpNotificationEnabled
في Android للتحكم في الإشعارات. تحتوي هذه الطريقة على وسيطة منطقية.FALSE
لإيقاف الإشعارات؛ يمكّنTRUE
الإشعارات.في iOS، قم بإيقاف إشعار الخلفية للمواقع التي تم قطعها على الطريق عن طريق إعداد "
GMSRoadSnappedLocationProvider.allowsBackgroundLocationUpdates
" إلى NO.لإيقاف المعالجة في الخلفية لإشعارات الموقع الجغرافي الأخرى، يُرجى الاتصال
GMSNavigator.sendsBackgroundNotifications(NO)
تخصيص واجهة المستخدم
- هل يمكنني ترميز أفضل خيار للمسار؟
- لا. لا يتم توفير الترميز بالألوان لخيار مسار معيّن في الوقت الحالي.
- هل يمكن أن تعرض حزمة SDK للتنقل الوقت المقدّر للوصول للوجهة النهائية؟
-
نعم. في Android، يمكنك استخدام الطرق التالية:
- استرجع الوقت والمسافة لجميع نقاط الطريق باستخدام
Navigator.getTimeAndDistanceList()
- إخفاء الوقت المقدر للوصول للنقطة الحالية باستخدام
NavigationFragment.setEtaCardEnabled(false)
- اعرض الوقت المقدّر للوصول النهائي.
في نظام التشغيل iOS، استخدِم ما يلي:
- تواصل هاتفيًا مع "
GMSNavigator.routeLegs(read)
". - مع المحطة الأخيرة، اتصل
GMSNavigator.timeToNextDestination
- إخفاء الوقت المقدر للوصول للنقطة الحالية باستخدام
MSMapView.settings.navigationFooterEnabled=NO
إلى FALSE. - اعرض الوقت المقدّر للوصول النهائي.
- استرجع الوقت والمسافة لجميع نقاط الطريق باستخدام
- كيف يمكنني إخفاء تعديلات الوقت المقدر للوصول؟
-
يمكنك إيقاف بطاقات الوقت المقدّر للوصول بالطرق التالية:
- في Android، استخدِم
navigationView.setEtaCardEnabled(false)
. - في نظام iOS، استخدِم
GMSMapView.settings.navigationFooterEnabled=NO
.
- في Android، استخدِم
-
أنت تستخدم في Android
StylingOptions
لضبط الخلفية. ونمط الألوان. لإخفاء أو إظهار العنوان و التذييل، استخدمsetHeaderEnabled
setFooterEnabled
من الدوال الأعضاء فيNavigationFragment
في iOS، استخدم
GMSMapView.settings.navigationHeaderPrimaryBackgroundColor
لضبط نمط لون الخلفية. لإخفاء الرأس والتذييل أو إظهارهما استخدام "navigationFooterEnabled
" وnavigationHeaderEnabled
من سماتGMSUISettings
.
يتم الآن تخطيط المسار
- هل يمكنني تقديم مسار محدّد؟ إلى السائق أو إزالة المسارات البديلة؟
- لا، بشكل افتراضي، يتم توفير مسارات متعددة وتكون الأولوية للمسار الأسرع. يمكنك التأثير على المسار الافتراضي عن طريق إضافة تفضيلات، مثل "تجنب والطرق السريعة ورسوم العبور"، على طلبك. تؤثر إضافة نقاط الطريق أيضًا على المسار.
- هل يمكنني عرض تصنيف للوجهة لمستخدم التطبيق يختلف عن التصنيف التلقائي للوجهة؟ موقع الوجهة؟
-
نعم. في Android، يمكنك إنشاء
Marker
باستخدام عنوان مخصص للوجهة وخط العرض/خط الطول. تشير رسالة الأشكال البيانية حزمة 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())
من النشاط الرئيسي، الذي يسترجع النشاط عندما ينقر مستخدم التطبيق على الإشعار.