اجتناب از دور زدن ویژگی بهینهسازی مسیر است که از دور زدن وسایل نقلیه در مکان تحویل یا ارسال مشخص بازدید جلوگیری میکند. با تنظیم اجتناب از دوربرگردان، مشخص میکنید که خودرو هنگام رسیدن به مکان بازدید و ترک آن باید در همان جهت باشد.
اجتناب از دور زدن به این صورت کار میکند:
- ویژگی اجتناب از دور زدن را برای بازدید خاصی تنظیم کنید.
- این API هر دو جهت سفر در جادههای دوطرفه را درنظر میگیرد و بهینهترین مسیر را انتخاب میکند.
- 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 آن را بهعنوان دور زدن طبقهبندی نمیکند.