الأسئلة الشائعة

تفاصيل المنتج

الشبكة والاتصال

البيانات

تخصيص واجهة المستخدم

التوجيه

مُحاكي

Workflows

خدمات التنقّل

تفاصيل المنتج

يجب أن يعرض تطبيقك مربّع حوار يتضمّن إشعار بنود خدمة Navigation SDK، ويجب أن يوافق عليه كل مستخدم. يمنح مربّع الحوار هذا المستخدم فرصة الموافقة على بنود الخدمة. يتم توفير ملف نصي للشروط مع حزمة Navigation SDK. استخدِم طريقة NavigationApi.showTermsAndConditionsDialog لعرض مربّع الحوار الذي يتضمّن البنود.
تتوفّر تلقائيًا أي لغات متوافقة مع تطبيق "خرائط Google" للأجهزة الجوّالة في Navigation SDK. يحتوي الجهاز على لغة نظام تلقائية ولا يمكن للتطبيق تغيير هذا الإعداد، ولكن يمكن للتطبيق الوصول إلى أكثر من 70 لغة.

نعم. بعد بدء تشغيل LocationListener، سيستمر في العمل في الخلفية. يواصل تطبيقك محاذاة الموقع الجغرافي مع الطريق والحفاظ على اتجاهه.

نعم. عند إنشاء مسار أو تغييره، يوفّر RouteChangeListener خطوطًا متعددة الأضلاع.

لا، لا تتطلّب حزمة Navigation SDK تثبيت تطبيق "خرائط Google للأجهزة الجوّالة" على الجهاز.
لا، لا يوفّر Navigation SDK هذه الميزة في الوقت الحالي.
نعم. يتوفّر اتجاه حركة المرور ويتم عرضه تلقائيًا.
ما هي إصدارات JDK المتوافقة مع حزمة Navigation SDK؟
تتوافق حزمة تطوير البرامج (SDK) الخاصة بخدمة Navigation مع إصدارات LTS من Java SE التي توفّر Oracle دعمًا نشطًا لها. تظهر هذه الإصدارات على أنّها تتضمّن الدعم المميز في خريطة طريق دعم Oracle Java SE.

الشبكة والاتصال

كيف تتعامل حزمة تطوير البرامج للتنقّل مع ضعف الاتصال بالشبكة؟
تخزّن حزمة تطوير البرامج للتنقّل مسبقًا المسار لكل رحلة. وتشمل المعلومات المخزّنة مؤقتًا مسبقًا معلومات التوجيه لمدة تتراوح بين 15 و20 دقيقة، وبدائل للطرق في حال انحراف المستخدم عن الطريق. تحدّد حزمة تطوير البرامج (SDK) الخاصة بخدمة Navigation الموقع الجغرافي التقريبي باستخدام نظام تحديد المواقع العالمي (GPS) وأدوات الاستشعار في الجهاز.
كيف تتعامل حزمة تطوير البرامج للتنقّل مع إشارات نظام تحديد المواقع العالمي (GPS) الضعيفة أو المفقودة؟

بعد بدء التنقّل واستلام حزمة تطوير البرامج (SDK) الخاصة بخدمة Navigation إشارة نظام تحديد المواقع العالمي (GPS) مرة واحدة على الأقل، ستعرض الرسالة "جارٍ البحث عن إشارة نظام تحديد المواقع العالمي (GPS)..." في الحالات التالية:

  • إذا مرّ أكثر من 10 ثوانٍ على آخر مرة تلقّى فيها إشارة GPS
  • إذا تغيّر موضع التوجيه بأكثر من 500 متر منذ آخر مرة تلقّى فيها إشارة GPS

إذا لم تتلقَّ حزمة تطوير البرامج (SDK) إشارة نظام تحديد المواقع العالمي (GPS) لفترة طويلة من الوقت، قد يتباطأ التقدّم على طول المسار، والذي يشار إليه في التطبيق بموضع علامة الشيفرون، إلى أن يتوقف تمامًا. في هذه الحالة، سيبقى السهم على الخريطة في الموقع الجغرافي الذي تشير إليه آخر إشارة لنظام تحديد المواقع العالمي (GPS). لن يتم الخروج من وضع التنقّل تلقائيًا نتيجة عدم تلقّي إشارة GPS. ومع ذلك، قد لا يتمكّن من تقديم إرشادات إلى أن يتلقّى إشارة أخرى.

هل يتوفّر وضع عدم الاتصال بالإنترنت؟
لا، لا توفّر حزمة تطوير البرامج (SDK) الخاصة بخدمة Navigation وضع عدم الاتصال بالإنترنت في الوقت الحالي، ولكنها توفّر معلومات مخزّنة مؤقتًا مسبقًا للرحلة.

البيانات

هل يمكنني استرداد جميع المحطات/وجهات الرحلة قبل بدء المسار؟

نعم. لاسترداد الاتجاهات الخاصة بمسار، اتّصِل بـ Navigator.getRouteSegments().

هل تتوفّر اتّجاهات مفصّلة حول المسار عند بدايته؟
نعم. تقدّم حزمة تطوير البرامج (SDK) الخاصة بخدمة Navigation قائمة بأقسام المسار. بالإضافة إلى ذلك، يمكن للمستخدم التمرير سريعًا عبر بطاقة الاتجاهات في العنوان للاطّلاع على كل مناورة.
كيف يتم إبلاغ مستخدمي التطبيق بالوقت المقدَّر للوصول؟

اتّبِع الخطوات التالية لتقديم معلومات عن الوقت المقدَّر للوصول إلى مستخدمي التطبيق:

  1. استرداد الوقت والمسافة لجميع نقاط الطريق باستخدام Navigator.getTimeAndDistanceList()
  2. أرسِل هذه المعلومات إلى تطبيق العميل كما تفعل مع الوقت المقدَّر لوصول السائق.
هل يمكن استخدام RoadSnappedLocationProvider للحصول على الموقع الجغرافي الحالي للمستخدم إذا لم يكن التنقّل في المقدّمة؟

نعم. يتم تشغيل RoadSnappedLocationProvider في الخلفية تلقائيًا.

هل تتيح حزمة تطوير البرامج للتنقّل استخدام السياج الجغرافي؟

لا، ففي سياق التنقّل، remainingTimeOrdistanceChangeListener أفضل من السياج الجغرافي. قد لا يأخذ السياج الجغرافي في الاعتبار شكل الطريق، وقد لا يكون متمركزًا في النقطة المحدّدة التي يتنقّل إليها المستخدم.

يمكنك الاستفادة من وظيفة مشابهة باستخدام remainingTimeOrdistanceChangeListener.

  1. اضبط الحدّ لتحديد عدد مرّات معاودة الاتصال.
  2. التحقّق من المسافة المتبقية إلى الوجهة

على سبيل المثال، إذا ضبطت الحدّ الأدنى على 100 متر، ستتلقّى ردّ اتصال عندما تتغيّر المسافة إلى الوجهة بمقدار 100 متر. مع انخفاض المسافة، يمكنك تعديل هذا الحدّ إلى قيمة أصغر وتلقّي عمليات ردّ الاتصال بشكل أكثر تكرارًا. بعد ذلك، اطّلِع على المسافة المتبقية لتحديد ما إذا كنت قريبًا بما يكفي من موقع الاستلام أو التسليم.

هل يمكنني إيقاف الإشعارات عندما يكون تطبيق التنقّل يعمل في الخلفية؟

نعم. استخدِم Navigator.setHeadsUpNotificationEnabled للتحكّم في الإشعارات. تحتوي هذه الطريقة على وسيط منطقي. FALSE يؤدي إلى إيقاف الإشعارات، بينما يؤدي TRUE إلى تفعيلها.

يتتبّع مسجّل المعاملات عمليات الاستلام والتسليم باستخدام معرّف فريد، تسجّله Google لأغراض إحصاءات المنتجات. إذا كنت من عملاء خدمات التنقّل، تنصحك Google بتنفيذ NavigationTransactionRecorder لتسجيل سجلّ معاملاتك.

تخصيص واجهة المستخدم

هل يمكنني ترميز خيار أفضل مسار بالألوان؟
لا، لا تتوفّر إمكانية ترميز خيار مسار معيّن بالألوان في الوقت الحالي.
هل يمكن أن تعرض حزمة تطوير البرامج للتنقّل الوقت المقدَّر للوصول إلى الوجهة النهائية؟

نعم. استخدِم الطرق التالية:

  1. استرداد الوقت والمسافة لجميع نقاط الطريق باستخدام Navigator.getTimeAndDistanceList()
  2. إخفاء الوقت المقدَّر للوصول إلى نقطة الطريق الحالية باستخدام NavigationFragment.setEtaCardEnabled(false)
  3. عرض الوقت المقدَّر للوصول إلى الوجهة النهائية
كيف يمكنني إخفاء إشعارات "الوقت المقدّر للوصول"؟

يمكنك إيقاف بطاقات "الوقت المقدّر للوصول" من خلال الاتصال بالرقم navigationView.setEtaCardEnabled(false).

ما هي عمليات تخصيص واجهة المستخدم المتاحة لبطاقات الرأس والتذييل؟

استخدِم الرمز StylingOptions لضبط نمط لون الخلفية. لإخفاء الرأس والتذييل أو إظهارهما، استخدِم الدالتَين setHeaderEnabled وsetFooterEnabled من NavigationFragment.

التوجيه

هل يمكنني تقديم مسار محدّد للمستخدم أو إزالة المسارات البديلة؟
لا، يتم تلقائيًا توفير مسارات متعدّدة وتكون الأولوية للمسار الأسرع. يمكنك التأثير في المسار التلقائي من خلال إضافة إعدادات مفضّلة، مثل "تجنُّب الطرق السريعة ورسوم العبور"، إلى طلبك. تؤثر إضافة نقاط الطريق أيضًا في المسار.
هل يمكنني عرض تصنيف مختلف للمستخدم عن الموقع الجغرافي التلقائي للمقصد؟

نعم. أنشئ Marker مع عنوان مخصّص للوجهة وخطوط الطول والعرض. تعرض حزمة تطوير البرامج Navigation SDK العنوان المخصّص والإحداثيات على NavigationMap.

هل يمكنني استخدام حزمة تطوير البرامج Navigation SDK لتتبُّع الانحرافات عن مسار محدّد؟

نعم. استخدِم Navigator.setRouteChangedListener لتلقّي إشعارات عند تغيير مسار أو اقتراح مسار جديد:

  1. سجِّل أداة معالجة تتحقّق من موضع الجهاز على طول المسار باستخدام طريقة Navigator.setRouteChangedListener.
  2. أضِف الرمز إلى معالج حدث معاودة الاتصال، onRouteChanged:
    • أرسِل رسالة إلى مستخدم التطبيق تتضمّن معلومات محدّثة عن الوقت المقدَّر للوصول والمسافة.
    • تتبُّع الموقع الجغرافي للجهاز
    • [اختياري] أضِف ميزات أخرى يتطلّبها تطبيقك للتعامل مع الحالات التي يكون فيها المستخدم خارج المسار المحدّد.
هل يمكن للمستخدم الخروج من وضع التنقّل بدون إكمال المسار؟

نعم. استدعِ طريقة Navigator.stopGuidance لإيقاف التنقّل.

هل تتيح حزمة تطوير البرامج للتنقّل توجيه الشاحنات والمركبات الكبيرة والتنقّل بها؟

نعم. باستخدام ميزة "تحديد مسار المركبات الكبيرة" (LVR)، يمكنك تمرير رموز مميّزة للمسار خاصة بالشاحنات تم إنشاؤها بواسطة Routes API أو Route Optimization API إلى Navigation SDK. توفّر حزمة تطوير البرامج (SDK) ميزة التنقّل بحسب الاتجاهات المفصّلة مع وسيلة شرح للمسار (الارتفاع والوزن والمواد الخطرة والقيود المفروضة على الشاحنات)، كما تحافظ على الملف الشخصي المادي للمركبة أثناء إعادة التوجيه الديناميكية. لمزيد من التفاصيل، يُرجى الاطّلاع على التنقّل في مسارات المركبات الكبيرة.

مُحاكي

هل يتيح المحاكي تغيير المسار؟

نعم. اتّصِل بالرقم simulateLocationsAlongNewRoute لمحاكاة رحلة تتضمّن تغييرًا في المسار. تتجاهل الطريقة simulateLocationsAlongExistingRoute التغييرات التي يتم إجراؤها على المسار الحالي.

Workflows

كيف يمكنني إغلاق الإشعار بعد إغلاق نشاط يتضمّن جزء تنقّل؟

يظل إشعار التنقّل مرئيًا أثناء التنقّل، عند إغلاق النشاط. عند وصول المركبة إلى الوجهة، تتوقف ميزة الملاحة ويختفي الإشعار.

للتعامل مع النقرات على الإشعار، استخدِم Navigator.startGuidance(intent resumeIntent). يتم تنشيط resume intent عندما ينقر مستخدم التطبيق على الإشعار. عادةً، يتم استدعاء Navigator.startguidance(getIntent()) من النشاط الرئيسي، الذي يعيد استدعاء النشاط عندما ينقر مستخدم التطبيق على الإشعار.

خدمات التنقّل

كيف يختلف استخدام حزمة تطوير البرامج Navigation SDK لعملاء "خدمات التنقّل"؟

توفّر "خدمات التنقّل" في "منصة خرائط Google" مجموعة من واجهات برمجة التطبيقات وحِزم تطوير البرامج (SDK) للمساعدة في تلبية احتياجات المؤسسات في مجال النقل والخدمات اللوجستية. بالنسبة إلى عملاء "خدمات التنقّل"، يتم عادةً استخدام حزمة تطوير البرامج (SDK) الخاصة بخدمة Navigation مع الخدمات ذات الصلة لتحسين المسار، والإرسال، وتتبُّع المهام، وإحصاءات أسطول المركبات، وغير ذلك. يتم أيضًا تحصيل رسوم مختلفة من عملاء "خدمات التنقّل" مقابل استخدام حزمة تطوير البرامج للتنقّل. لمزيد من المعلومات، يُرجى الاطّلاع على مستندات خدمات التنقّل.

لا تتوفّر منتجات التنقّل حاليًا إلا لعملاء محدّدين. يُرجى التواصل مع ممثل المبيعات للحصول على مزيد من المعلومات.

كيف يمكنني معرفة ما إذا كنتُ من عملاء "خدمات التنقّل"؟
إذا لم تكن متأكدًا مما إذا كنت تستخدم حاليًا حزمة تطوير البرامج (SDK) الخاصة بخدمة Navigation بصفتك أحد عملاء Mobility Services، ابحث عن طلب ReportBillableEvent في الرمز البرمجي. يجب أن يتصل عملاء "خدمات التنقّل" فقط بالطريقة ReportBillableEvent.

كيف يتم تحصيل رسوم استخدام حزمة تطوير البرامج للتنقّل من عملاء "خدمات التنقّل"؟
بالنسبة إلى عملاء "خدمات التنقّل"، تعتمد الفوترة والأسعار الخاصة بحزمة تطوير البرامج (SDK) الخاصة بخدمة Navigation على اتفاقية الخدمة التي أبرمتها مع "منصة خرائط Google". للحصول على معلومات حول التحقّق من صحة فوترة تنفيذ "خدمات التنقّل"، يُرجى الاطّلاع على التحقّق من صحة الفوترة. للحصول على معلومات إضافية حول فوترة "خدمات التنقّل"، يُرجى التواصل مع ممثل المبيعات.

ما هي واجهات برمجة التطبيقات في Navigation SDK التي يجب أن يستخدمها عملاء "خدمات التنقّل" فقط؟

تتضمّن Navigation SDK عدة واجهات برمجة تطبيقات مخصّصة فقط لعملاء خدمات التنقّل الذين تحصّل منهم Google رسومًا على أساس كل معاملة. إذا لم تكن من عملاء "خدمات التنقّل"، لن يكون بإمكانك استخدام الطرق التالية:

إذا كنت أحد عملاء "خدمات التنقّل"، هل يمكنني أيضًا استخدام إصدار من Navigation SDK لا يتضمّن "خدمات التنقّل"؟

نعم، يمكن لعملاء "خدمات التنقّل" استخدام كلٍّ من عمليات تنفيذ "خدمات التنقّل" وغير "خدمات التنقّل" في حزمة Navigation SDK. ومع ذلك، يمكنك استخدام نوع تنفيذ واحد فقط في تطبيق واحد في كل مرة. عليك أيضًا إنشاء مشروع جديد على Google Cloud وحساب فوترة ومفتاح API منفصلَين عن تلك التي تستخدمها مع تنفيذ "خدمات التنقّل". لمزيد من المعلومات، يُرجى الاطّلاع على نظرة عامة على إعداد Navigation SDK.

لمزيد من المعلومات حول استخدام تطبيق غير تابع لـ "خدمة التنقّل" من Navigation SDK، بما في ذلك نقل تطبيق من نوع تنفيذ إلى آخر، يُرجى التواصل مع ممثل حساب Google.

ملاحظة: إذا لم تكن حاليًا من عملاء "خدمات التنقّل" وكنت مهتمًا بمعرفة المزيد عن مجموعة واجهات برمجة التطبيقات وحِزم تطوير البرامج (SDK) الخاصة بـ "خدمات التنقّل"، يُرجى التواصل مع فريق مبيعات Google Maps Platform.