سوالات متداول
جزئیات محصول
- اطلاعیه شرایط خدمات SDK ناوبری چگونه باید نمایش داده شود؟
- راهنمای صوتی از چه زبانهایی پشتیبانی میکند؟
- آیا وقتی کاربر از حالت ناوبری خارج میشود، جهتیابی حفظ میشود؟
- آیا خطوط چندخطی هنگام شروع یا تغییر مسیر در دسترس هستند؟
- آیا کاربران اپلیکیشن باید نقشه گوگل را روی موبایل نصب کرده باشند؟
- آیا SDK ناوبری میتواند پارکینگهای نزدیک رستورانها و سایر مقاصد را شناسایی کند؟
- آیا SDK ناوبری هنگام نزدیک شدن به یک نقطه پیچ، جهت ترافیک را در خطوط نشان میدهد؟
- کیت توسعه نرمافزاری ناوبری (Navigation SDK) از کدام نسخههای JDK پشتیبانی میکند؟
شبکه و اتصال
- کیت توسعه نرمافزار ناوبری (Navigation SDK) چگونه اتصال ضعیف شبکه را مدیریت میکند؟
- کیت توسعه نرمافزار ناوبری (Navigation SDK) چگونه سیگنالهای ضعیف یا از دست رفته GPS را مدیریت میکند؟
- آیا حالت آفلاین در دسترس است؟
دادهها
- آیا میتوانم قبل از شروع مسیر، تمام توقفها/مقصدهای یک سفر را بازیابی کنم؟
- آیا راهنمای مسیر گام به گام در ابتدای مسیر موجود است؟
- زمان تخمینی رسیدن (ETA) چگونه به کاربران برنامه اطلاع داده میشود؟
- آیا میتوان از
RoadSnappedLocationProviderبرای دریافت موقعیت مکانی فعلی کاربر در صورتی که ناوبری در پیشزمینه نباشد، استفاده کرد؟ - آیا SDK ناوبری از تعیین محدوده جغرافیایی (geofencing) پشتیبانی میکند؟
- آیا میتوانم اعلانها را وقتی برنامه ناوبری در پسزمینه است غیرفعال کنم؟
- چگونه میتوانم گزارش تراکنشهای ثبتشده توسط گوگل را ببینم؟
شخصیسازی رابط کاربری
- آیا میتوانم بهترین گزینه مسیر را با رنگ مشخص کنم؟
- آیا SDK ناوبری میتواند زمان تقریبی رسیدن به مقصد نهایی را نشان دهد؟
- چگونه میتوانم بهروزرسانیهای ETA را پنهان کنم؟
- چه سفارشیسازیهایی برای رابط کاربری کارتهای سربرگ و پاصفحه در دسترس است؟
مسیریابی
- آیا میتوانم یک مسیر خاص را به کاربر ارائه دهم یا مسیرهای جایگزین را حذف کنم؟
- آیا میتوانم برچسبی متفاوت از مکان پیشفرض مقصد به کاربر نشان دهم؟
- آیا میتوانم از کیت توسعه نرمافزار ناوبری (Navigation SDK) برای ردیابی انحرافات از یک مسیر تعریفشده استفاده کنم؟
- آیا کاربر میتواند بدون تکمیل مسیر، از ناوبری خارج شود؟
شبیهساز
گردشهای کاری
خدمات حمل و نقل
- استفاده از کیت توسعه نرمافزار ناوبری (Navigation SDK) چه تفاوتی برای مشتریان سرویسهای موبایل (Mobility Services) دارد؟
- چگونه میتوانم تشخیص دهم که آیا مشتری خدمات حمل و نقل هستم؟
- هزینهی خدمات ناوبری (Navigation SDK) برای مشتریان خدمات حمل و نقل (Mobility Services) چگونه محاسبه میشود؟
- کدام APIهای SDK ناوبری فقط باید توسط مشتریان سرویسهای تحرکپذیری استفاده شوند؟
- اگر من مشتری سرویسهای موبایلی باشم، آیا میتوانم از پیادهسازی SDK ناوبری که مربوط به سرویسهای موبایلی نیست نیز استفاده کنم؟
جزئیات محصول
- برنامه شما باید یک دیالوگ با اطلاعیه شرایط خدمات 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 به کاربران برنامه، از مراحل زیر استفاده کنید:
- با استفاده از
Navigator.getTimeAndDistanceList()زمان و مسافت را برای همه نقاط مسیر بازیابی کنید. - این اطلاعات را همانطور که برای زمان رسیدن به مقصد راننده انجام میدهید، به برنامه کلاینت نیز ارسال کنید.
- با استفاده از
- آیا میتوان از
RoadSnappedLocationProviderبرای دریافت موقعیت مکانی فعلی کاربر در صورتی که ناوبری در پیشزمینه نباشد، استفاده کرد؟ بله.
RoadSnappedLocationProviderبه طور پیشفرض در پسزمینه اجرا میشود.- آیا SDK ناوبری از تعیین محدوده جغرافیایی (geofencing) پشتیبانی میکند؟
خیر. در زمینه ناوبری،
remainingTimeOrdistanceChangeListenerنسبت به geofence مزیت دارد. geofence ممکن است هندسه جاده را در نظر نگیرد و ممکن است دقیقاً روی نقطهای که کاربر به سمت آن حرکت میکند، متمرکز نباشد.شما میتوانید این ویژگی را با استفاده از
remainingTimeOrdistanceChangeListenerتقریب بزنید.- آستانه را برای تعیین فراوانی فراخوانیهای مجدد تنظیم کنید.
- مسافت باقی مانده تا مقصد را بررسی کنید.
برای مثال، اگر آستانه را روی ۱۰۰ متر تنظیم کنید، وقتی فاصله تا مقصد ۱۰۰ متر تغییر کند، یک تماس مجدد دریافت خواهید کرد. با کاهش فاصله، میتوانید این آستانه را به مقدار کمتری بهروزرسانی کنید و تماسهای مجدد بیشتری دریافت کنید. سپس، فاصله باقیمانده را بررسی کنید تا مشخص شود که آیا به اندازه کافی به محل تحویل/تحویل نزدیک هستید یا خیر.
- آیا میتوانم اعلانها را وقتی برنامه ناوبری در پسزمینه است غیرفعال کنم؟
بله. برای کنترل اعلانها از
Navigator.setHeadsUpNotificationEnabledاستفاده کنید. این متد یک آرگومان بولی دارد.FALSEاعلانها را غیرفعال میکند؛TRUEاعلانها را فعال میکند.ضبطکننده تراکنش، دریافت و تحویل بار را با یک شناسه منحصر به فرد ردیابی میکند که گوگل آن را برای اهداف تجزیه و تحلیل محصول ثبت میکند. اگر شما مشتری خدمات حمل و نقل هستید، گوگل توصیه میکند که
NavigationTransactionRecorderرا برای ثبت سابقه تراکنشهای خود پیادهسازی کنید.
شخصیسازی رابط کاربری
- آیا میتوانم بهترین گزینه مسیر را با رنگ مشخص کنم؟
- خیر. در حال حاضر امکان رنگآمیزی یک مسیر خاص پشتیبانی نمیشود.
- آیا SDK ناوبری میتواند زمان تقریبی رسیدن به مقصد نهایی را نشان دهد؟
بله. از روشهای زیر استفاده کنید:
- با استفاده از
Navigator.getTimeAndDistanceList()زمان و مسافت را برای همه نقاط مسیر بازیابی کنید. - با استفاده از
NavigationFragment.setEtaCardEnabled(false)زمان رسیدن به نقطهی مسیر فعلی را مخفی کنید. - زمان تقریبی رسیدن به مقصد نهایی را رندر کنید.
- با استفاده از
- چگونه میتوانم بهروزرسانیهای ETA را پنهان کنم؟
شما میتوانید کارتهای ETA را با فراخوانی
navigationView.setEtaCardEnabled(false)غیرفعال کنید.از
StylingOptionsبرای تنظیم سبک رنگ پسزمینه استفاده کنید. برای پنهان کردن یا نمایش دادن سرصفحه و پاصفحه، از توابع عضوsetHeaderEnabledوsetFooterEnabledازNavigationFragmentاستفاده کنید.
مسیریابی
- آیا میتوانم یک مسیر خاص را به کاربر ارائه دهم یا مسیرهای جایگزین را حذف کنم؟
- خیر. به طور پیشفرض، چندین مسیر ارائه میشود و سریعترین مسیر اولویت دارد. میتوانید با اضافه کردن تنظیمات برگزیده، مانند «اجتناب از بزرگراهها و عوارضیها»، به درخواست خود، مسیر پیشفرض را تغییر دهید. اضافه کردن نقاط مسیر نیز بر مسیر تأثیر میگذارد.
- آیا میتوانم به کاربر برنامه برچسبی متفاوت از مکان پیشفرض مقصد نشان دهم؟
بله. یک
Markerبا عنوان دلخواه برای مقصد و طول و عرض جغرافیایی ایجاد کنید. کیت توسعه نرمافزار ناوبری (Navigation SDK) عنوان دلخواه و مختصات را رویNavigationMapنمایش میدهد.- آیا میتوانم از کیت توسعه نرمافزار ناوبری (Navigation SDK) برای ردیابی انحرافات از یک مسیر تعریفشده استفاده کنم؟
بله. از
Navigator.setRouteChangedListenerبرای دریافت اعلانها هنگام تغییر مسیر یا توصیه مسیر جدید استفاده کنید:- یک شنونده (listener) ثبت کنید که موقعیت دستگاه را در طول مسیر با استفاده از متد
Navigator.setRouteChangedListenerبررسی کند. - کد را به رویداد فراخوانی (callback event handler)،
onRouteChanged، اضافه کنید:- ارسال پیام به کاربر برنامه با اطلاعات بهروز شده ETA و فاصله.
- مکان دستگاه را ردیابی کنید.
- [اختیاری] ویژگیهای دیگری را که برنامه شما برای مدیریت زمانی که کاربر از مسیر تعیینشده خارج میشود، نیاز دارد، اضافه کنید.
- یک شنونده (listener) ثبت کنید که موقعیت دستگاه را در طول مسیر با استفاده از متد
بله. برای متوقف کردن پیمایش، متد
Navigator.stopGuidance()را فراخوانی کنید.
شبیهساز
- آیا شبیهساز از تغییر مسیر پشتیبانی میکند؟
بله. برای شبیهسازی سفری که شامل تغییر مسیر است، تابع
simulateLocationsAlongNewRouteرا فراخوانی کنید. متدsimulateLocationsAlongExistingRouteتغییرات مسیر موجود را نادیده میگیرد.
گردشهای کاری
- چگونه میتوانم پس از بستن یک اکتیویتی که حاوی یک قطعه ناوبری است، اعلان را رد کنم؟
اعلان ناوبری در طول ناوبری، زمانی که فعالیت بسته میشود، قابل مشاهده باقی میماند. وقتی وسیله نقلیه به مقصد میرسد، ناوبری متوقف میشود و اعلان ناپدید میشود.
برای مدیریت کلیکها روی اعلان، از
Navigator.startGuidance(intent resumeIntent)استفاده کنید.resume intentزمانی فعال میشود که کاربر برنامه روی اعلان کلیک کند. معمولاًNavigator.startguidance(getIntent())از Activity اصلی فراخوانی میشود که وقتی کاربر برنامه روی اعلان کلیک میکند، Activity را فراخوانی میکند.
خدمات حمل و نقل
سرویسهای تحرک پلتفرم نقشههای گوگل مجموعهای از APIها و SDKها را برای کمک به پشتیبانی از نیازهای سازمانی برای کسبوکارهای حملونقل و لجستیک ارائه میدهند. برای مشتریان سرویسهای تحرک، SDK ناوبری معمولاً همراه با سرویسهای مرتبط برای بهینهسازی مسیر، ارسال، ردیابی وظایف، تجزیه و تحلیل ناوگان و موارد دیگر استفاده میشود. SDK ناوبری همچنین برای مشتریان سرویسهای تحرک به صورت متفاوتی محاسبه میشود. برای اطلاعات بیشتر، به مستندات سرویسهای تحرک مراجعه کنید.
محصولات مربوط به حمل و نقل در حال حاضر فقط برای مشتریان منتخب در دسترس هستند. برای اطلاعات بیشتر با نماینده فروش خود تماس بگیرید.
ReportBillableEvent در کد خود باشید. فقط مشتریان خدمات تحرک باید متد ReportBillableEvent را فراخوانی کنند.چندین API در کیت توسعه نرمافزار ناوبری (Navigation SDK) وجود دارد که فقط برای استفاده مشتریان سرویسهای موبایلی (Mobility Services) در نظر گرفته شدهاند و گوگل برای آنها بر اساس هر تراکنش هزینه دریافت میکند. اگر شما مشتری سرویسهای موبایلی نیستید، روشهای زیر بیفایده هستند:
بله، مشتریان سرویسهای موبایلی میتوانند از هر دو پیادهسازی سرویسهای موبایلی و غیرموبایلیِ Navigation SDK استفاده کنند. با این حال، شما فقط میتوانید از یک نوع پیادهسازی در یک برنامه در یک زمان استفاده کنید. همچنین باید یک پروژه Google Cloud جدید، حساب پرداخت و کلید API ایجاد کنید، جدا از مواردی که با پیادهسازی سرویسهای موبایلی خود استفاده میکنید. برای اطلاعات بیشتر، به مرور کلی تنظیمات Navigation SDK مراجعه کنید.
برای اطلاعات بیشتر در مورد استفاده از پیادهسازی SDK ناوبری بدون سرویسهای حرکتی، از جمله انتقال برنامه از یک نوع پیادهسازی به نوع دیگر، با نماینده حساب گوگل خود تماس بگیرید.
توجه: اگر در حال حاضر مشتری سرویسهای تحرک نیستید و علاقهمند به کسب اطلاعات بیشتر در مورد مجموعه APIها و SDKهای سرویسهای تحرک هستید، با بخش فروش پلتفرم نقشههای گوگل تماس بگیرید .