سوالات متداول

جزئیات محصول

شبکه و اتصال

داده‌ها

شخصی‌سازی رابط کاربری

مسیریابی

شبیه‌ساز

گردش‌های کاری

خدمات حمل و نقل

جزئیات محصول

برنامه شما باید یک دیالوگ با اطلاعیه شرایط خدمات Navigation SDK که هر کاربر باید آن را بپذیرد، پیاده‌سازی کند. این دیالوگ به کاربر این فرصت را می‌دهد که با شرایط خدمات موافقت کند. یک فایل متنی از شرایط به همراه Navigation SDK ارائه می‌شود. از متد NavigationApi.showTermsAndConditionsDialog برای نمایش دیالوگ حاوی شرایط استفاده استفاده کنید.
هر زبانی که توسط Google Maps Mobile پشتیبانی شود، به طور خودکار برای Navigation SDK در دسترس است. یک دستگاه دارای یک زبان سیستمی پیش‌فرض است و یک برنامه نمی‌تواند آن تنظیم را تغییر دهد؛ با این حال، برنامه به بیش از ۷۰ زبان دسترسی دارد.

بله. پس از شروع، LocationListener به اجرا در پس‌زمینه ادامه می‌دهد. برنامه شما به ثبت موقعیت جاده ادامه می‌دهد و جهت را حفظ می‌کند.

بله. وقتی یک مسیر ایجاد یا تغییر می‌کند، RouteChangeListener چندخطی‌ها را ارائه می‌دهد.

خیر، کیت توسعه نرم‌افزار ناوبری (Navigation SDK) نیازی به نصب گوگل مپ موبایل روی دستگاه ندارد.
خیر، در حال حاضر Navigation SDK این ویژگی را ارائه نمی‌دهد.
بله. جهت ترافیک به صورت پیش‌فرض در دسترس و نمایش داده می‌شود.
کیت توسعه نرم‌افزاری ناوبری (Navigation SDK) از کدام نسخه‌های JDK پشتیبانی می‌کند؟
کیت توسعه نرم‌افزار (SDK) ناوبری از نسخه‌های LTS جاوا SE که به طور فعال توسط اوراکل پشتیبانی می‌شوند، پشتیبانی می‌کند. این نسخه‌ها در نقشه راه پشتیبانی اوراکل جاوا SE به عنوان نسخه‌های دارای پشتیبانی برتر فهرست شده‌اند.

شبکه و اتصال

کیت توسعه نرم‌افزار ناوبری (Navigation SDK) چگونه اتصال ضعیف شبکه را مدیریت می‌کند؟
کیت توسعه نرم‌افزار ناوبری (Navigation SDK) مسیر هر سفر را از قبل ذخیره می‌کند. اطلاعات از پیش ذخیره شده شامل اطلاعات مسیریابی به مدت ۱۵ تا ۲۰ دقیقه و مسیرهای جایگزین در صورت انحراف کاربر از مسیر است. کیت توسعه نرم‌افزار ناوبری (Navigation SDK) با استفاده از GPS و حسگرهای دستگاه، موقعیت تقریبی را تعیین می‌کند.
کیت توسعه نرم‌افزار ناوبری (Navigation SDK) چگونه سیگنال‌های ضعیف یا از دست رفته GPS را مدیریت می‌کند؟

پس از شروع ناوبری و دریافت حداقل یک سیگنال GPS توسط SDK ناوبری، در شرایط زیر پیام "در حال جستجوی GPS..." نمایش داده می‌شود:

  • اگر بیش از ۱۰ ثانیه از آخرین باری که سیگنال GPS دریافت کرده گذشته باشد.
  • اگر موقعیت مسیریابی از آخرین باری که سیگنال GPS دریافت کرده، بیش از ۵۰۰ متر تغییر کرده باشد.

اگر SDK برای مدت طولانی سیگنال GPS دریافت نکند، پیشرفت در طول مسیر، که در برنامه با موقعیت علامت چرخان نشان داده شده است، ممکن است تا زمان توقف کامل کند شود. در این حالت، علامت چرخان روی نقشه در مکانی که توسط آخرین سیگنال GPS نشان داده شده است، باقی می‌ماند. SDK به دلیل عدم دریافت سیگنال GPS به طور خودکار از حالت ناوبری خارج نمی‌شود. با این حال، ممکن است تا زمانی که دوباره سیگنال دریافت نکند، نتواند راهنمایی ارائه دهد.

آیا حالت آفلاین در دسترس است؟
خیر، کیت توسعه نرم‌افزار ناوبری (Navigation SDK) در حال حاضر حالت آفلاین ارائه نمی‌دهد؛ با این حال، این کیت، اطلاعات از پیش ذخیره‌شده برای یک سفر را ارائه می‌دهد.

داده‌ها

آیا می‌توانم قبل از شروع مسیر، تمام توقف‌ها/مقصدهای یک سفر را بازیابی کنم؟

بله. برای بازیابی مسیرهای یک مسیر، تابع Navigator.getRouteSegments() را فراخوانی کنید.

آیا راهنمای مسیر گام به گام در ابتدای مسیر موجود است؟
بله. کیت توسعه نرم‌افزار ناوبری (Navigation SDK) فهرستی از بخش‌های مسیر را ارائه می‌دهد. علاوه بر این، کاربر می‌تواند با کشیدن انگشت خود روی کارت مسیر در هدر، هر مانور را مشاهده کند.
چگونه ETA به کاربران برنامه اطلاع داده می‌شود؟

برای ارائه اطلاعات ETA به کاربران برنامه، از مراحل زیر استفاده کنید:

  1. با استفاده از Navigator.getTimeAndDistanceList() زمان و مسافت را برای همه نقاط مسیر بازیابی کنید.
  2. این اطلاعات را همانطور که برای زمان رسیدن به مقصد راننده انجام می‌دهید، به برنامه کلاینت نیز ارسال کنید.
آیا می‌توان از RoadSnappedLocationProvider برای دریافت موقعیت مکانی فعلی کاربر در صورتی که ناوبری در پیش‌زمینه نباشد، استفاده کرد؟

بله. RoadSnappedLocationProvider به طور پیش‌فرض در پس‌زمینه اجرا می‌شود.

آیا SDK ناوبری از تعیین محدوده جغرافیایی (geofencing) پشتیبانی می‌کند؟

خیر. در زمینه ناوبری، remainingTimeOrdistanceChangeListener نسبت به geofence مزیت دارد. geofence ممکن است هندسه جاده را در نظر نگیرد و ممکن است دقیقاً روی نقطه‌ای که کاربر به سمت آن حرکت می‌کند، متمرکز نباشد.

شما می‌توانید این ویژگی را با استفاده از remainingTimeOrdistanceChangeListener تقریب بزنید.

  1. آستانه را برای تعیین فراوانی فراخوانی‌های مجدد تنظیم کنید.
  2. مسافت باقی مانده تا مقصد را بررسی کنید.

برای مثال، اگر آستانه را روی ۱۰۰ متر تنظیم کنید، وقتی فاصله تا مقصد ۱۰۰ متر تغییر کند، یک تماس مجدد دریافت خواهید کرد. با کاهش فاصله، می‌توانید این آستانه را به مقدار کمتری به‌روزرسانی کنید و تماس‌های مجدد بیشتری دریافت کنید. سپس، فاصله باقی‌مانده را بررسی کنید تا مشخص شود که آیا به اندازه کافی به محل تحویل/تحویل نزدیک هستید یا خیر.

آیا می‌توانم اعلان‌ها را وقتی برنامه ناوبری در پس‌زمینه است غیرفعال کنم؟

بله. برای کنترل اعلان‌ها از Navigator.setHeadsUpNotificationEnabled استفاده کنید. این متد یک آرگومان بولی دارد. FALSE اعلان‌ها را غیرفعال می‌کند؛ TRUE اعلان‌ها را فعال می‌کند.

ضبط‌کننده تراکنش، دریافت و تحویل بار را با یک شناسه منحصر به فرد ردیابی می‌کند که گوگل آن را برای اهداف تجزیه و تحلیل محصول ثبت می‌کند. اگر شما مشتری خدمات حمل و نقل هستید، گوگل توصیه می‌کند که NavigationTransactionRecorder را برای ثبت سابقه تراکنش‌های خود پیاده‌سازی کنید.

شخصی‌سازی رابط کاربری

آیا می‌توانم بهترین گزینه مسیر را با رنگ مشخص کنم؟
خیر. در حال حاضر امکان رنگ‌آمیزی یک مسیر خاص پشتیبانی نمی‌شود.
آیا SDK ناوبری می‌تواند زمان تقریبی رسیدن به مقصد نهایی را نشان دهد؟

بله. از روش‌های زیر استفاده کنید:

  1. با استفاده از Navigator.getTimeAndDistanceList() زمان و مسافت را برای همه نقاط مسیر بازیابی کنید.
  2. با استفاده از NavigationFragment.setEtaCardEnabled(false) زمان رسیدن به نقطه‌ی مسیر فعلی را مخفی کنید.
  3. زمان تقریبی رسیدن به مقصد نهایی را رندر کنید.
چگونه می‌توانم به‌روزرسانی‌های ETA را پنهان کنم؟

شما می‌توانید کارت‌های ETA را با فراخوانی navigationView.setEtaCardEnabled(false) غیرفعال کنید.

چه سفارشی‌سازی‌هایی برای رابط کاربری کارت‌های سربرگ و پاصفحه در دسترس است؟

از StylingOptions برای تنظیم سبک رنگ پس‌زمینه استفاده کنید. برای پنهان کردن یا نمایش دادن سرصفحه و پاصفحه، از توابع عضو setHeaderEnabled و setFooterEnabled از NavigationFragment استفاده کنید.

مسیریابی

آیا می‌توانم یک مسیر خاص را به کاربر ارائه دهم یا مسیرهای جایگزین را حذف کنم؟
خیر. به طور پیش‌فرض، چندین مسیر ارائه می‌شود و سریع‌ترین مسیر اولویت دارد. می‌توانید با اضافه کردن تنظیمات برگزیده، مانند «اجتناب از بزرگراه‌ها و عوارضی‌ها»، به درخواست خود، مسیر پیش‌فرض را تغییر دهید. اضافه کردن نقاط مسیر نیز بر مسیر تأثیر می‌گذارد.
آیا می‌توانم به کاربر برنامه برچسبی متفاوت از مکان پیش‌فرض مقصد نشان دهم؟

بله. یک Marker با عنوان دلخواه برای مقصد و طول و عرض جغرافیایی ایجاد کنید. کیت توسعه نرم‌افزار ناوبری (Navigation SDK) عنوان دلخواه و مختصات را روی NavigationMap نمایش می‌دهد.

آیا می‌توانم از کیت توسعه نرم‌افزار ناوبری (Navigation SDK) برای ردیابی انحرافات از یک مسیر تعریف‌شده استفاده کنم؟

بله. از Navigator.setRouteChangedListener برای دریافت اعلان‌ها هنگام تغییر مسیر یا توصیه مسیر جدید استفاده کنید:

  1. یک شنونده (listener) ثبت کنید که موقعیت دستگاه را در طول مسیر با استفاده از متد Navigator.setRouteChangedListener بررسی کند.
  2. کد را به رویداد فراخوانی (callback event handler)، onRouteChanged ، اضافه کنید:
    • ارسال پیام به کاربر برنامه با اطلاعات به‌روز شده ETA و فاصله.
    • مکان دستگاه را ردیابی کنید.
    • [اختیاری] ویژگی‌های دیگری را که برنامه شما برای مدیریت زمانی که کاربر از مسیر تعیین‌شده خارج می‌شود، نیاز دارد، اضافه کنید.
آیا کاربر می‌تواند بدون تکمیل مسیر، از ناوبری خارج شود؟

بله. برای متوقف کردن پیمایش، متد Navigator.stopGuidance() را فراخوانی کنید.

شبیه‌ساز

آیا شبیه‌ساز از تغییر مسیر پشتیبانی می‌کند؟

بله. برای شبیه‌سازی سفری که شامل تغییر مسیر است، تابع simulateLocationsAlongNewRoute را فراخوانی کنید. متد simulateLocationsAlongExistingRoute تغییرات مسیر موجود را نادیده می‌گیرد.

گردش‌های کاری

چگونه می‌توانم پس از بستن یک اکتیویتی که حاوی یک قطعه ناوبری است، اعلان را رد کنم؟

اعلان ناوبری در طول ناوبری، زمانی که فعالیت بسته می‌شود، قابل مشاهده باقی می‌ماند. وقتی وسیله نقلیه به مقصد می‌رسد، ناوبری متوقف می‌شود و اعلان ناپدید می‌شود.

برای مدیریت کلیک‌ها روی اعلان، از Navigator.startGuidance(intent resumeIntent) استفاده کنید. resume intent زمانی فعال می‌شود که کاربر برنامه روی اعلان کلیک کند. معمولاً Navigator.startguidance(getIntent()) از Activity اصلی فراخوانی می‌شود که وقتی کاربر برنامه روی اعلان کلیک می‌کند، Activity را فراخوانی می‌کند.

خدمات حمل و نقل

استفاده از کیت توسعه نرم‌افزار ناوبری (Navigation SDK) چه تفاوتی برای مشتریان سرویس‌های موبایل (Mobility Services) دارد؟

سرویس‌های تحرک پلتفرم نقشه‌های گوگل مجموعه‌ای از APIها و SDKها را برای کمک به پشتیبانی از نیازهای سازمانی برای کسب‌وکارهای حمل‌ونقل و لجستیک ارائه می‌دهند. برای مشتریان سرویس‌های تحرک، SDK ناوبری معمولاً همراه با سرویس‌های مرتبط برای بهینه‌سازی مسیر، ارسال، ردیابی وظایف، تجزیه و تحلیل ناوگان و موارد دیگر استفاده می‌شود. SDK ناوبری همچنین برای مشتریان سرویس‌های تحرک به صورت متفاوتی محاسبه می‌شود. برای اطلاعات بیشتر، به مستندات سرویس‌های تحرک مراجعه کنید.

محصولات مربوط به حمل و نقل در حال حاضر فقط برای مشتریان منتخب در دسترس هستند. برای اطلاعات بیشتر با نماینده فروش خود تماس بگیرید.

چگونه می‌توانم تشخیص دهم که آیا مشتری خدمات حمل و نقل هستم؟
اگر مطمئن نیستید که در حال حاضر به عنوان یک مشتری خدمات تحرک، در حال پیاده‌سازی SDK ناوبری هستید یا خیر، به دنبال فراخوانی ReportBillableEvent در کد خود باشید. فقط مشتریان خدمات تحرک باید متد ReportBillableEvent را فراخوانی کنند.

هزینه‌ی خدمات ناوبری (Navigation SDK) برای مشتریان خدمات حمل و نقل (Mobility Services) چگونه محاسبه می‌شود؟
برای مشتریان خدمات تحرک، صورتحساب و قیمت‌گذاری برای SDK ناوبری به توافق‌نامه خدماتی که با پلتفرم نقشه‌های گوگل دارید بستگی دارد. برای کسب اطلاعات در مورد تأیید صحت صورتحساب پیاده‌سازی خدمات تحرک، به اعتبارسنجی صورتحساب مراجعه کنید. برای اطلاعات بیشتر در مورد صورتحساب خدمات تحرک، با نماینده فروش خود تماس بگیرید.

کدام APIهای SDK ناوبری فقط باید توسط مشتریان سرویس‌های تحرک‌پذیری استفاده شوند؟

چندین API در کیت توسعه نرم‌افزار ناوبری (Navigation SDK) وجود دارد که فقط برای استفاده مشتریان سرویس‌های موبایلی (Mobility Services) در نظر گرفته شده‌اند و گوگل برای آنها بر اساس هر تراکنش هزینه دریافت می‌کند. اگر شما مشتری سرویس‌های موبایلی نیستید، روش‌های زیر بی‌فایده هستند:

اگر من مشتری سرویس‌های موبایلی باشم، آیا می‌توانم از پیاده‌سازی SDK ناوبری که مربوط به سرویس‌های موبایلی نیست نیز استفاده کنم؟

بله، مشتریان سرویس‌های موبایلی می‌توانند از هر دو پیاده‌سازی سرویس‌های موبایلی و غیرموبایلیِ Navigation SDK استفاده کنند. با این حال، شما فقط می‌توانید از یک نوع پیاده‌سازی در یک برنامه در یک زمان استفاده کنید. همچنین باید یک پروژه Google Cloud جدید، حساب پرداخت و کلید API ایجاد کنید، جدا از مواردی که با پیاده‌سازی سرویس‌های موبایلی خود استفاده می‌کنید. برای اطلاعات بیشتر، به مرور کلی تنظیمات Navigation SDK مراجعه کنید.

برای اطلاعات بیشتر در مورد استفاده از پیاده‌سازی SDK ناوبری بدون سرویس‌های حرکتی، از جمله انتقال برنامه از یک نوع پیاده‌سازی به نوع دیگر، با نماینده حساب گوگل خود تماس بگیرید.

توجه: اگر در حال حاضر مشتری سرویس‌های تحرک نیستید و علاقه‌مند به کسب اطلاعات بیشتر در مورد مجموعه APIها و SDKهای سرویس‌های تحرک هستید، با بخش فروش پلتفرم نقشه‌های گوگل تماس بگیرید .