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

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

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

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

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

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

پیش‌نیازها

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

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

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

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

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

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

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

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

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

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

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

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

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

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

مرحله ۲: تنظیم مقصدها با کد مسیر

routeToken را به روش mapView.navigator setDestinationsWithToken:completionHandler: منتقل کنید. ‫Navigation SDK مقصدها را از کد مسیر، همراه با نمایه مسیریابی TRUCK که آن را برای اعمال محدودیت‌های وسایل نقلیه بزرگ هدایت می‌کند، دریافت می‌کند. لازم نیست از نقطه‌مسیرها عبور کنید. حالت سفر برنامه‌تان باید .driving (GMSNavigationTravelModeDriving) باشد که پیش‌فرض است، یا .twoWheeler (GMSNavigationTravelModeTwoWheeler).

گزینه‌های نقطه‌مسیر را در درخواست Routes API که کد مسیر را ایجاد می‌کند تنظیم کنید. کیت توسعه نرم‌افزار ناوبری آن‌ها را به‌همراه مقصدهایتان از توکن دریافت می‌کند. برای خودروهای بزرگ، گزینه‌های زیر را درنظر بگیرید:

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

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

وقتی Navigation SDK محاسبه مسیر را به‌پایان می‌رساند، GMSNavigationRouteDescription را به گرداننده تکمیل شما ارسال می‌کند. وقتی routeStatus آن .OK (GMSRouteStatusOK) است، isGuidanceActive = true (guidanceActive = YES) را تنظیم کنید تا راهنمایی گام‌به‌گام فعال شروع شود.

برای تأیید اینکه Navigation SDK از کد مسیر شما استفاده کرده است، بررسی کنید که آیا Navigation SDK از کد مسیر شما استفاده کرده است یا نه.

نمونه کد

نشان مسیر را به setDestinationsWithToken:completionHandler: ارسال کنید و سپس وقتی وضعیت مسیر .OK است، راهنمایی را شروع کنید.

// Obtain the routeToken string from your backend
let routeToken = "route token returned by Routes API"

mapView.navigator?.setDestinationsWithToken(routeToken) { [weak self] routeDescription, error in
  if routeDescription?.routeStatus == .OK {
    self?.mapView.navigator?.isGuidanceActive = true
  }
}

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

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

مراحل بعدی

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