این راهنما برای چه کسانی مناسب است: اگر شما یک توسعهدهنده موبایل هستید که مسئول ساخت تجربه ناوبری درون کابین برای رانندگان کامیونها یا سایر وسایل نقلیه بزرگ هستید، این راهنما را بخوانید.
آنچه این راهنما پوشش میدهد: این راهنما توضیح میدهد که چگونه یک مسیر مخصوص کامیون، که توسط API مسیرها ایجاد شده است، را انتخاب کنید و از آن برای راهاندازی یک جلسه ناوبری گام به گام با Navigation SDK استفاده کنید.
آنچه یاد خواهید گرفت
شما یاد خواهید گرفت که چگونه موارد زیر را انجام دهید:
- از یک
routeTokenبرای اتصال برنامهریزی مسیر backend به تجربه ناوبری درون برنامهای استفاده کنید . - SDK ناوبری را طوری پیکربندی کنید که از یک مسیر کامیون از پیش برنامهریزیشده استفاده کند.
- بفهمید که محدودیتهای خاص کامیون چگونه در رابط کاربری برای راننده نمایش داده میشود .
پیشنیازها
قبل از شروع، باید شرایط زیر را رعایت کنید.
راهاندازی پروژه
مسیریابی وسایل نقلیه بزرگ برای تعداد محدودی از مشتریان در دسترس است، برای درخواست دسترسی با ما تماس بگیرید . پس از دریافت دسترسی، مطمئن شوید که پروژه Google Cloud شما برای مسیریابی وسایل نقلیه بزرگ فراهم شده است. اگر از پروژههای جداگانهای برای API مسیرها و SDK ناوبری استفاده میکنید، باید هر دو پروژه را فراهم کنید.
یک توکن مسیر ایجاد کنید
ابتدا باید با دنبال کردن دستورالعملهای موجود در راهنمای «ایجاد مسیرهای کامیون و ETAها» ، یک مسیر ایجاد کنید. خروجی این فرآیند، یک routeToken ، برای تکمیل مراحل این راهنما مورد نیاز است.
حداقل الزامات
برنامه شما باید از حداقل نسخه مورد نیاز Navigation SDK استفاده کند:
- اندروید: ۵.۲.۰ یا بالاتر
- آیاواس: ۵.۴.۰ یا بالاتر
علاوه بر این، تمام الزامات استفاده از Navigation SDK اعمال میشود:
محدودیتها
قبل از شروع، باید از محدودیتها و الزامات زیر آگاه باشید.
- دسترسی جغرافیایی : مسیریابی وسایل نقلیه بزرگ فقط در ۴۸ ایالت مجاور ایالات متحده در دسترس است.
- هشدار و ایمنی راننده . رانندگان نباید صرفاً به مسیرهایی که توسط این API برای ایمن یا قانونی بودن ارائه میشوند، تکیه کنند. تضمینی وجود ندارد که مسیرها برای وسیله نقلیه مناسب باشند و دنبال کردن آنها ممکن است رانندگان را در معرض خطراتی مانند پلهای کوتاه یا جادههایی که عبور وسایل نقلیه بزرگ از آنها ممنوع است، قرار دهد.
- مسیرهای با بهترین تلاش . در برخی موارد، API نمیتواند مسیری را پیدا کند که کاملاً با محدودیتهای سفر مطابقت داشته باشد. در عوض، یک مسیر "بهترین تلاش" را برمیگرداند که ممکن است هنوز از مناطق محدود عبور کند. پاسخ API مسیرها به وضوح این مسیرها را در فیلد
routeRestrictionsPartiallyIgnoredعلامتگذاری میکند. در این موارد، مسیر خود را با دقت برنامهریزی کنید، در حالت ایدهآل از دادههای منبع دیگر استفاده کنید. از یک مسیر علامتگذاری شده به عنوان یک منبع واحد برای برنامهریزی یا پیمایش استفاده نکنید. - ویژگیهای پشتیبانی نشده : مسیریابی وسایل نقلیه بزرگ از موارد زیر پشتیبانی نمیکند:
- قیمت عوارض کامیون
- محدودیتهای سرعت
- مسیریابی مواد خطرناک رادیواکتیو
- محدودیتهای استفاده: همه درخواستها مشمول محدودیتهای استاندارد پرسوجو در هر ثانیه (QPS) هستند.
نمایش رابط کاربری مخصوص کامیون
کیت توسعه نرمافزار ناوبری (Navigation SDK) بهطور خودکار هشدارهای بصری، به نام راهنمای مسیر ، را روی نقشه نمایش میدهد تا رانندگان را از محدودیتهای پیش روی کامیونها مطلع کند. این هشدارها برای محدودیتهایی ارائه میشوند که بخشی از مسیر برنامهریزیشده هستند، اما در سایر جادههای مجاور نمایش داده نمیشوند.
SDK شامل توضیحاتی برای محدودیتهای زیر است:
| محدودیت | آیکون و متن فراخوان | شرایط نمایش |
|---|---|---|
| ارتفاع | ![]() زرد = هشدار، وسیله نقلیه شما نزدیک به حداکثر ارتفاع مجاز است ![]() قرمز = ارتفاع وسیله نقلیه شما بالاتر از حداکثر ارتفاع مجاز است | وقتی ارتفاع خودرو نزدیک به محدودیت باشد، یک علامت زرد رنگ ظاهر میشود. ![]() اگر مسیر مطابق با قوانین نباشد و محدودیت ارتفاع را نقض کند، یک هشدار قرمز ظاهر میشود. ![]() |
| وزن | ![]() | وقتی وزن وسیله نقلیه از حد مجاز جاده بیشتر شود، یک علامت قرمز رنگ ظاهر میشود. ![]() |
| کامیونها ممنوع | ![]() | هنگام حرکت در بخشی از جاده که محدودیت عبور کامیون وجود دارد، یک علامت قرمز رنگ ظاهر میشود. ![]() |
| کالاهای خطرناک | ![]() | زمانی که حمل بار مواد خطرناک وسیله نقلیه در بخشی از جاده ممنوع باشد، یک علامت هشدار قرمز رنگ ظاهر میشود. ![]() |
گردش کار توکن مسیر
یک routeToken یک snapshot رمزگذاری شده و امن از مسیری است که توسط Routes API ایجاد میشود. این snapshot شامل تمام جزئیات مسیر، از جمله اطلاعات وسیله نقلیه مورد استفاده برای ایجاد آن است. استفاده از یک token تضمین میکند که جلسه ناوبری با مسیری که در backend خود برنامهریزی کردهاید، مطابقت دارد.
توجه داشته باشید که به محض اینکه راننده شروع به پیمایش میکند، مسیر ارائه شده توسط SDK ناوبری میتواند بسته به ترافیک و شرایط جاده تغییر کند. در برخی موارد، ممکن است از مسیر مشخص شده توسط توکن مسیر متفاوت باشد.
در این موارد، و همچنین در مواردی که راننده از مسیر برنامهریزیشده منحرف میشود، استفاده از توکن مسیر تضمین میکند که مسیرهای تازه محاسبهشده، ویژگیهای وسیله نقلیه را مطابق با درخواست اصلی Routes API رعایت کنند.
گردش کار مراحل زیر را دنبال میکند:
- بخش مدیریت شما یک مسیر کامیون را از API مسیرها درخواست میکند.
- API مسیرها یک
routeTokenبرمیگرداند . - بکاند شما این توکن را به برنامه موبایل شما ارسال میکند.
- برنامه تلفن همراه،
routeTokenرا برای شروع سفر به Navigation SDK ارسال میکند. - کیت توسعه نرمافزار ناوبری (Navigation SDK) تمام جنبههای تجربه پیمایش مرحله به مرحله، از جمله تغییر مسیر در صورت انحراف راننده از مسیر اصلی و در عین حال حفظ محدودیتهای اصلی وسیله نقلیه را مدیریت میکند .
پیادهسازی: شروع یک سفر ویژه کامیون
برای راهاندازی یک جلسه ناوبری با مسیر کامیون خود، توکن مسیر را به ناوبر میدهید.
مرحله ۱: دریافت توکن مسیر
برنامه شما رشته routeToken را از سرور backend شما دریافت میکند.
کد زیر یک نمونه توکن است:
CqMBCjoKCJQOor5DHcwiEhBon3XpHXFnVvDeWMwd9PpAGgz6wtnFDKIBrAHTARpCApUDSggAAAAACjcrP3gBEAQaTApKChgKDQoCCAERAAAAAACAZkAR3SQGgZUXdUASEggAEAMQBhATEBIYAkIEGgIIBSIYChZ2VEJiWlBPSkk1aU5wUVRzNTV5d0FRKAEiFQBcJuds-Efh-2QZhOMTtUCCxEVL_g
مرحله ۲: توکن را به ناویگاتور (Navigator) ارسال کنید
هنگام تعیین مقصد سفر، routeToken در اختیار Navigator قرار دهید. سپس Navigation SDK از این توکن برای تمام محاسبات مسیر برای سفر استفاده میکند.
توجه داشته باشید که Navigation SDK دارای پیکربندی TravelMode است که باید روی TravelMode.DRIVING تنظیم شود. این جدا از پیکربندی travelMode در Routes API است که باید روی TRUCK تنظیم شود. پیکربندی travelMode در Routes API در routeToken کدگذاری شده و به Navigation SDK سیگنال میدهد تا تجربه و مسیر مختص کامیون را نمایش دهد.
اندروید
از CustomRoutesOptions.builder() برای تنظیم توکن استفاده کنید و سپس آن را به navigator.setDestinations() منتقل کنید.
// Obtain the routeToken string from your backend
val routeToken = "route token returned by Routes API"
val customRoutesOptions = CustomRoutesOptions.builder()
.setRouteToken(routeToken)
.setTravelMode(TravelMode.DRIVING)
.build()
// Specify the same destination used to create the route token
ArrayList <Waypoint> destinations = Lists.newArrayList();
val destination = Waypoint.builder()
.setLatLng(10.0, 20.0)
.setTitle("title")
.setVehicleStopover(true)
.build()
destinations.add(destination);
navigator.setDestinations(destinations, customRoutesOptions)
آیاواس
توکن مسیر را با استفاده از متد mapView.navigator setDestinations به Navigation SDK ارسال کنید، و همان نقاط مسیر مقصدی را که هنگام ایجاد توکن مسیر استفاده کردهاید، مشخص کنید:
// Obtain the routeToken string from your backend
let routeToken = "route token returned by Routes API"
mapView.navigator?.setDestinations([destination], routeToken: routeToken, callback: {...})
مراحل بعدی
- SDK ها را بررسی کنید: SDK ناوبری برای اندروید | SDK ناوبری برای iOS
- سفارشیسازی رابط کاربری: یاد بگیرید چگونه رابط کاربری SDK ناوبری را سفارشی کنید









