اجتناب از دور کامل

اجتناب از دور زدن در `ShipmentModel.Shipment` در اشیای تحویل و دریافت وجود دارد.

اجتناب از دور زدن ویژگی بهینه‌سازی مسیر است که از دور زدن وسایل نقلیه در مکان تحویل یا ارسال مشخص بازدید جلوگیری می‌کند. با تنظیم اجتناب از دوربرگردان، مشخص می‌کنید که خودرو هنگام رسیدن به مکان بازدید و ترک آن باید در همان جهت باشد.

اجتناب از دور زدن به این صورت کار می‌کند:

  1. ویژگی اجتناب از دور زدن را برای بازدید خاصی تنظیم کنید.
  2. این API هر دو جهت سفر در جاده‌های دوطرفه را درنظر می‌گیرد و بهینه‌ترین مسیر را انتخاب می‌کند.
  3. ‫API مسیری را تولید می‌کند که در آن خودرو بدون دور زدن در محل بازدید، به آنجا می‌رسد و آنجا را ترک می‌کند. راننده ممکن است برای رسیدن به این مکان نیاز داشته باشد از خیابان عبور کند.

این ملک برای موقعیت‌هایی که دور زدن به‌دلیل اندازه خودرو، علائم راهنمایی و رانندگی، یا شرایط معمول ترافیک دشوار یا غیرممکن است ایده‌آل است.

مشخصات

خصوصیت اجتناب از دوربرگردان در شیء VisitRequest تعریف شده است. این شیء در آرایه‌های pickups و deliveries محموله استفاده می‌شود.

دارایی نوع شرح
avoidUTurns بولی وقتی روی true تنظیم شود، API از دور زدن خودرو در این مکان بازدید جلوگیری می‌کند. خودرو در همان جهتی که وارد می‌شود، خارج می‌شود.

مثال‌ها

این بخش دو نوع مثال را پوشش می‌دهد:

  • نمونه‌های کد که ساختار اجتناب از دور زدن را نشان می‌دهد.
  • نمونه‌ای از درخواست که شامل ویژگی باشد.

نمونه‌های کد

مثال زیر ساختارavoidUTurns را در تحویل و ارسال نشان می‌دهد:

"pickups":[
  {
    "arrivalLocation": {
      "latitude": 37.42506261000996,
      "longitude": -122.09535511930135
    },
    "avoidUTurns": true
  }
],
"deliveries":[
  {
    "arrivalLocation": {
      "latitude": 37.42421503206021,
      "longitude": -122.09526063135228
    },
    "avoidUTurns": true
  }
]

درخواست کردن نمونه

مثال زیر درخواست optimizeTours پایه را نشان می‌دهد که اجتناب از دور زدن را دربرمی‌گیرد. این درخواست شامل عناصر زیر است:

  • محموله‌ای با یک تحویل گرفتن و یک تحویل دادن در داخل شیء model.
  • خصوصیت avoidUTurns روی true در هر دو مکان سوار کردن و تحویل تنظیم شده است تا از تغییر جهت خودرو در آن ایستگاه‌ها جلوگیری شود.
  {
    "model": {
      "shipments":[
        {
          "pickups":[
            {
              "arrivalLocation": {
                "latitude": 37.42506261000996,
                "longitude": -122.09535511930135
              },
              "avoidUTurns": true
            }
          ],
          "deliveries":[
            {
              "arrivalLocation": {
                "latitude": 37.42421503206021,
                "longitude": -122.09526063135228
              },
              "avoidUTurns": true
            }
          ]
        }
      ],
      "vehicles":[
        {
          "travelMode": "DRIVING",
          "costPerKilometer": 1.0
        }
      ]
    }
  }

پرهیز از دور زدن با sideOfRoad

اگرچه sideOfRoad ویژگی جداگانه‌ای است، اما با پرهیز از دور زدن ارتباط نزدیکی دارد زیرا با هدایت کردن خودرو به کنار جاده‌ای که به مقصد نزدیک‌تر است، از بسیاری از دور زدن‌ها جلوگیری می‌کند. این کار باعث می‌شود خودرو از جهت خاصی به مکان بازدید نزدیک شود و دیگر نیازی به دور زدن نباشد.

در عمل، زمانی باید از اجتناب از دوربرگردان استفاده کنید که عبور پیاده از خیابان برای رسیدن به مکان بازدید ایمن باشد. اگر عبور از جاده توصیه نمی‌شود یا امکان‌پذیر نیست، درعوض sideOfRoad را روی true تنظیم کنید.

دارایی sideOfRoad در شیء Waypoint تعریف شده است.

تعامل با ویژگی‌های دیگر

اجتناب از دور زدن با ویژگی‌های مسیریابی دیگر به روش‌های زیر تعامل دارد:

  • کنار جاده: تنظیم هر دو avoidUTurns و sideOfRoad روی true احتمال پرهیز از دور زدن را درحین مسیریابی خودرو به کنار جاده نزدیک‌ترین به مکان بازدید کمی افزایش می‌دهد. بااین‌حال، انجام این کار پیچیدگی‌های بیشتری را در رابطه با محدودیت‌های اجتناب از دوربرگردان ایجاد می‌کند. برای اکثر مکان‌های بازدید، تنظیم فقط یکی از این دارایی‌ها برای جلوگیری از دور زدن کافی است.
  • راه‌حل‌های تزریقی: وقتی از اجتناب از دور زدن استفاده می‌کنید، پاسخ میانای برنامه‌سازی کاربردی شامل injectedSolutionLocationToken در داخل ShipmentRoute.Visit تولیدشده است تا ثبت کند کدام طرف جاده را انتخاب کرده است. اگر این بازدید را به‌عنوان راه‌حل تزریقی در درخواست آینده‌ای دوباره استفاده کردید، باید این کد را به API برگردانید.

محدودیت‌ها

ویژگی اجتناب از دور زدن U یک ویژگی با بهترین تلاش است. ممکن است API همچنان دوربرگردان‌ها را در مسیر تولیدشده تحت شرایط زیر لحاظ کند:

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