ناوبری مسیرهای خودرو بزرگ

این راهنما برای چه کسانی است: اگر توسعه‌دهنده تلفن همراه هستید و مسئولیت ساختن تجربه ناوبری گام‌به‌گام برای رانندگان کامیون، اتوبوس، یا دیگر وسایل نقلیه تجاری بزرگ را برعهده دارید، این راهنما را بخوانید.

موضوعات این راهنما: این راهنما توضیح می‌دهد که چگونه یک مسیر مخصوص کامیون را که توسط Routes API یا Route Optimization API تولید شده است، دریافت کنید و از آن برای راه‌اندازی یک جلسه ناوبری گام‌به‌گام با Navigation SDK برای iOS استفاده کنید.

آنچه خواهید آموخت

با نحوه انجام کارهای زیر آشنا خواهید شد:

  • از routeToken برای متصل کردن برنامه‌ریزی مسیر پس‌زمینه با تجربه ناوبری درون‌برنامه استفاده کنید.
  • کیت توسعه نرم‌افزار ناوبری را پیکربندی کنید تا از مسیر کامیون ازپیش برنامه‌ریزی‌شده استفاده کند.
  • با نحوه نمایش محدودیت‌های ویژه کامیون برای راننده در رابط کاربری ناوبری آشنا شوید.

پیش‌نیازها

قبل‌از شروع، مطمئن شوید که الزامات زیر را برآورده می‌کنید:

۱. درخواست دسترسی برای پروژه

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

وقتی Google دسترسی را اعطا کرد، مطمئن شوید پروژه Google Cloud شما برای مسیریابی خودروهای بزرگ آماده شده باشد.

اگر سازمانتان از پروژه‌های Google Cloud جداگانه برای میاناهای برنامه‌سازی کاربردی مسیریابی پس‌زمینه و Navigation SDK تلفن همراه استفاده می‌کند، با Google تماس بگیرید تا هر پروژه را تأمین کند.

۲. راه‌اندازی تولید مسیر پسین و دریافت کد مسیر

قبل‌از شروع ناوبری در دستگاه، سرور زیرینه شما باید مسیر کامیون را تولید کند و بااستفاده از یکی از میاناهای برنامه‌سازی کاربردی زیر، routeToken را دریافت کند:

درخواست باطن شما باید travelMode: TRUCK را به‌همراه ویژگی‌های فیزیکی خودرو (ارتفاع، عرض، طول، وزن، تعداد محور، و محموله خطرناک) مشخص کند. میانای برنامه‌سازی کاربردی مسیریابی در پاسخ خود routeToken را برمی‌گرداند که سرور زیرینه شما آن را به برنامه تلفن همراهتان ارسال می‌کند.

۳. برآورده کردن حداقل ملزومات سیستم و کیت توسعه نرم‌افزار

برنامه شما باید از حداقل نسخه لازم کیت توسعه نرم‌افزار ناوبری 5.4.0 یا جدیدتر استفاده کند.

علاوه‌براین، پروژه شما باید از الزامات راه‌اندازی Navigation SDK استاندارد پیروی کند.

محدودیت‌ها و دستورالعمل‌های عملیاتی

قبل‌از شروع، به محدودیت‌ها و دستورالعمل‌های عملیاتی زیر توجه کنید:

  • دردسترس بودن جغرافیایی: مسیریابی خودروهای بزرگ در ۴۸ ایالت به‌هم‌پیوسته ایالات متحده (به‌طور کلی دردسترس است) و ژاپن (آزمایشی) دردسترس است. این ویژگی در آلاسکا، هاوایی، یا قلمروهای ایالات متحده دردسترس نیست.
  • توصیه و ایمنی راننده: رانندگان نباید صرفاً به مسیرهای برگردانده‌شده توسط Navigation SDK برای ایمن یا قانونی بودن تکیه کنند. ممکن است مسیرها در همه شرایط جاده‌ای برای خودرو مناسب نباشد و دنبال کردن آن‌ها می‌تواند رانندگان را درمعرض خطراتی مثل ارتفاع کم یا جاده‌های دارای محدودیت وزن قرار دهد. رانندگان باید همیشه هوشیار باشند و از تابلوهای جاده‌ای و مقررات محلی پیروی کنند.
  • مسیرهای با بهترین تلاش: وقتی میانای برنامه‌سازی کاربردی مسیریابی نمی‌تواند مسیری پیدا کند که کاملاً با محدودیت‌های خودرو مطابقت داشته باشد، مسیری با «بهترین تلاش» برمی‌گرداند که ممکن است همچنان از بخش‌های محدودشده عبور کند. برای مثال، Routes API پرچم routeRestrictionsPartiallyIgnored را در پاسخ خود تنظیم می‌کند. هنگام پیمایش این مسیرها، Navigation SDK برای برجسته کردن محدودیت‌های مربوطه، توضیحات مسیر را نمایش می‌دهد. در این موارد، مسیرها را با دقت برنامه‌ریزی کنید و از مسیر پرچم‌گذاری‌شده به‌عنوان تنها منبع حقیقت برای برنامه‌ریزی یا ناوبری استفاده نکنید.
  • ویژگی‌های پشتیبانی‌نشده: مسیریابی وسایل نقلیه بزرگ از ویژگی‌های زیر پشتیبانی نمی‌کند:
    • قیمت عوارض کامیون
    • حد سرعت ویژه کامیون یا خودرو سنگین
    • مسیر مواد خطرناک رادیواکتیو
  • محدودیت‌های استفاده: درخواست‌های ارسالی به «کیت توسعه نرم‌افزار ناوبری» از محدودیت‌های استفاده و سهمیه استاندارد پیروی می‌کنند. برای اطلاعات بیشتر، استفاده و صورت‌حساب را ببینید.

نمایش واسط کاربر ویژه کامیون (برون‌خط‌های مسیر)

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

کیت توسعه نرم‌افزار پیمایش شامل فراخوان‌هایی برای محدودیت‌های زیر است:

محدودیت نماد و نوشتار نوشته راهنما شرایط نمایش
قد نماد زرد محدودیت ارتفاع
زرد = هشدار، خودرو شما نزدیک به حداکثر ارتفاع مجاز است
نماد قرمز محدودیت ارتفاع
قرمز = خودرو شما بالاتر از حداکثر ارتفاع مجاز است
وقتی ارتفاع خودرو نزدیک به محدودیت باشد، توضیحی زرد ظاهر می‌شود.
نقشه‌ای که هشدار محدودیت ارتفاع را نشان می‌دهد
اگر مسیر غیرمنطبق باشد و محدودیت ارتفاع را نقض کند، کادر شرح قرمز نشان داده می‌شود.
نقشه‌ای که نقض محدودیت ارتفاع را نشان می‌دهد
وزن نماد محدودیت وزن وقتی وزن خودرو از حد مجاز جاده بیشتر باشد، یک بالون شرح قرمز ظاهر می‌شود.
نقشه‌ای که نماد محدودیت وزن را نشان می‌دهد
ورود کامیون ممنوع نماد ورود کامیون ممنوع وقتی در بخشی از جاده که محدودیت کامیون تجاری دارد سفر می‌کنید، یک کادر شرح قرمز ظاهر می‌شود.
نقشه‌ای که نماد کامیون ممنوع را نشان می‌دهد
کالاهای خطرناک نماد کالاهای خطرناک وقتی بار مواد خطرناک خودرو در بخشی از جاده ممنوع باشد، توضیحی به رنگ قرمز نشان داده می‌شود.
نقشه‌ای که نماد کالاهای خطرناک را نشان می‌دهد

نحوه عملکرد نشان‌های مسیر

routeToken عکس آنی رمزگذاری‌شده‌ای از مسیری است که توسط پس‌زمینه مسیریابی Google ایجاد شده است. این درخواست هندسه مسیر برنامه‌ریزی‌شده و همچنین ابعاد فیزیکی و نمایه محدودیت خودرو را دربرمی‌گیرد.

گردش کار این مراحل را دنبال می‌کند:

  1. درخواست مسیر: سرور زیرینه شما مسیر کامیون را از Routes API (یا Route Optimization API) درخواست می‌کند.
  2. دریافت کردن کد: میانای برنامه‌سازی کاربردی مسیریابی مسیر سازگار را محاسبه می‌کند و routeToken را به سرور زیرینه شما برمی‌گرداند.
  3. ارسال کردن توکن: سرور زیرینه شما routeToken و مختصات مقصد را به برنامه تلفن همراه شما ارسال می‌کند.
  4. انتقال به کیت توسعه نرم‌افزار: برنامه تلفن همراه routeToken را به کیت توسعه نرم‌افزار پیمایش منتقل می‌کند.
  5. شروع راهنمایی: کیت توسعه نرم‌افزار ناوبری همه جنبه‌های تجربه گام‌به‌گام را مدیریت می‌کند، ازجمله ارائه توضیحات مسیر و مدیریت مسیریابی مجدد پویا براساس محدودیت‌های خودرو.

محاسبه مجدد و مسیریابی مجدد پویا

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

وقتی تغییر مسیر رخ می‌دهد:

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

پیاده‌سازی: شروع سفر مختص کامیون

برای مقداردهی اولیه و شروع ناوبری گام‌به‌گام با کد مسیر خودرو بزرگ، این مراحل را دنبال کنید.

مرحله ۱: دریافت کردن کد مسیر از پسین

برنامه تلفن همراه شما رشته routeToken را به‌همراه مختصات مقصد از سرور زیرینه شما دریافت می‌کند. برای جزئیات درباره تولید این توکن در سرور، به تولید مسیرهای وسایل نقلیه بزرگ و زمان‌های تقریبی ورود در اسناد Routes API مراجعه کنید.

کد زیر نمونه‌ای از یک کد مسیر است:

{
  "routeToken": "CqMBCjoKCJQOor5DHcwiEhBon3XpHXFnVvDeWMwd9PpAGgz6wtnFDKIBrAHTARpCApUDSggAAAAACjcrP3gBEAQaTApKChgKDQoCCAERAAAAAACAZkAR3SQGgZUXdUASEggAEAMQBhATEBIYAkIEGgIIBSIYChZ2VEJiWlBPSkk1aU5wUVRzNTV5d0FRKAEiFQBcJuds-Efh-2QZhOMTtUCCxEVL_g"
}

مرحله ۲: ارسال کردن کد به Navigator

نقطه‌مسیرهای routeToken و مقصد را به روش mapView.navigator setDestinations ارسال کنید.

هنگام پیکربندی نقاط‌مسیر و ارسال کردن کد مسیر، موارد زیر را درنظر داشته باشید:

  • الزامات مطابقت مقصد: مختصات مقصد ارسال‌شده به setDestinations باید با مختصات مقصد استفاده‌شده هنگام تولید routeToken مطابقت داشته باشد. مشخص کردن مقصد متفاوت باعث بروز خطا می‌شود.
  • مسیریابی کنار جاده: خودروهای تجاری بزرگ نمی‌توانند به‌راحتی در خیابان‌های باریک دور بزنند. برای اطمینان از اینکه کامیون از سمت درست جاده به مقصد نزدیک می‌شود، preferSameSideOfRoad = true را در نقطه‌مسیرهایتان تنظیم کنید.
  • توقفگاه‌های خودرو: برای هدایت کامیون به مکان مناسب برای توقف یا تخلیه بار، vehicleStopover = true را روی نقطه‌مسیرهایتان تنظیم کنید.
  • نقاط ناوبری: اگر مقصد شما ورودی باربری یا سکوی بارگیری مشخصی دارد، آن را بااستفاده از نشان نقطه ناوبری مشخص کنید.

مرحله ۳: مدیریت وضعیت مسیر و شروع راهنمایی

GMSRouteStatus برگردانده‌شده در بازخوانی setDestinations را ارزیابی کنید. وقتی وضعیت .OK (GMSRouteStatusOK) است، isGuidanceActive = true (guidanceActive = YES) را تنظیم کنید تا راهنمایی گام‌به‌گام فعال شروع شود.

نمونه کد

بااستفاده از روش 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: {...})

نمایشگرهای داخل خودرو

می‌توانید جلسه ناوبری خودرو بزرگ را بااستفاده از ناوبری برای CarPlay در صفحه‌نمایش‌های داشبورد نمایش دهید.

مراحل بعدی

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