اولویتهای ترافیکی که انتخاب میکنید، دقت جزئیات مسیر را با عملکرد درخواست به یکی از دو روش زیر متعادل میکند:
آگاه از ترافیک -- دقیقترین نتایج ممکن را برمیگرداند (تأخیر بیشتر).
بدون توجه به ترافیک -- نتایج را در سریعترین زمان ممکن (کمترین تأخیر) برمیگرداند.
وقتی درخواستی ارائه میدهید، بسنجید که آیا بهتر است دقیقترین نتایج ممکن را برگردانید یا نتایج را در سریعترین زمان ممکن برگردانید. Routes API گزینههایی ارائه میدهد که به شما امکان میدهد کیفیت دادههای پاسخ را درمقابل تأخیر پاسخ کنترل کنید.
نحوه تنظیم سطح ترافیک
Routes API RoutingPreference (REST) و RoutingPreference (gRPC) را ارائه میدهد که به شما امکان میدهد اولویتهای مسیریابی را برای محاسبه مسیرها مشخص کنید.
بهطور پیشفرض، نتایج بدون درنظر گرفتن ترافیک است. گزینههای ترافیک را با اولویتهای مسیریابی
TRAFFIC_UNAWARE، TRAFFIC_AWARE، و TRAFFIC_AWARE_OPTIMAL
انتخاب میکنید. هر اولویت مسیریابی نتایجی تولید میکند که ازنظر کیفیت مسیر، زمان تخمینی ورود، و تأخیر پاسخ متفاوت است.
شرایط ترافیک
وضعیت ترافیک نرخ جریان ترافیک را مشخص میکند:
ترافیک عادی: بدون ازدحام و ترافیک با سرعت عادی جریان دارد.
ترافیک سبک تا متوسط: ازدحام درحال افزایش است و ترافیک با سرعت کمتری جریان دارد.
ترافیک سنگین: ازدحام شدید، با کاهش شدید سرعت ترافیک.
بدون اطلاع از ترافیک
TRAFFIC_UNAWARE تنظیم پیشفرض است. وقتی میخواهید پاسخها در سریعترین زمان ممکن برگردانده شوند و جزئیات مسیریابی تقریبی کافی است، از این اولویت مسیریابی استفاده کنید.
TRAFFIC_UNAWARE مسیر بدون درنظر گرفتن شرایط ترافیک فعلی محاسبه شده است. این اولویت مسیریابی منجر به سریعترین پاسخ درخواست میشود
(کمترین تأخیر).
اگر TRAFFIC_UNAWARE را انتخاب کنید،
مسیر و مدتزمان انتخابشده براساس شبکه جادهای و میانگین شرایط ترافیک مستقل از زمان است، نه شرایط فعلی جاده. درنتیجه، ممکن است مسیرها شامل جادههایی باشد
که موقتاً بسته شدهاند. نتایج برای یک درخواست معین ممکن است درطول زمان بهدلیل تغییرات در شبکه جادهای، شرایط ترافیک متوسط بهروزشده، و ماهیت توزیعشده سرویس متفاوت باشد. نتایج ممکن است بین مسیرهای تقریباً معادل در هر زمان یا فرکانس متفاوت باشد.
پاسخهایی که خواهید دید در اینجا آمده است:
duration- حاوی زمان تخمینی رسیدن برای مسیر است.staticDuration: زمان تقریبی ورود برای مسیر با درنظر گرفتن فقط اطلاعات ترافیک گذشته. برایTRAFFIC_UNAWARE، این مقدار با مقدارdurationیکسان است.
آگاه از ترافیک
وقتی جزئیات مسیریابی دقیقتری نسبتبه
TRAFFIC_UNAWARE میخواهید و درعینحال برایتان مهم نیست که پاسخها با
افزایش متوسطی در تأخیر برگردانده شوند، از این اولویت مسیریابی استفاده کنید.
وقتی اولویت مسیریابی TRAFFIC_AWARE را تنظیم میکنید، سرویس مسیر را با درنظر گرفتن شرایط ترافیک فعلی محاسبه میکند. درنتیجه، مسیر و جزئیات مسیر شرایط دنیای واقعی را دقیقتر نشان میدهند. چون این افزایش در
کیفیت دادهها به قیمت تأخیر پاسخ تمام میشود، بهینهسازیهای عملکرد
برای کاهش بخش زیادی از تأخیر اعمال میشود.
پاسخهایی که خواهید دید در اینجا آمده است:
duration: زمان تقریبی ورود با درنظر گرفتن اطلاعات ترافیک همزمان.staticDurationزمان تخمینی رسیدن برای مسیر با درنظر گرفتن فقط اطلاعات ترافیک گذشته.
بهینه با آگاهی از ترافیک
وقتی میخواهید نتایج بالاترین کیفیت را داشته باشند و مدت زمان پاسخدهی برایتان مهم نیست، از این اولویت مسیریابی استفاده کنید. این اولویت مسیریابی طولانیترین تأخیر را در برگرداندن پاسخها دارد (بالاترین تأخیر).
وقتی اولویت مسیریابی TRAFFIC_AWARE_OPTIMAL را تنظیم میکنید، سرویس
مسیر را با درنظر گرفتن شرایط ترافیک فعلی محاسبه میکند، اما
بهینهسازیهای عملکرد را اعمال نمیکند. در این حالت، سرور جستجوی جامعتری در شبکه جادهای انجام میدهد تا مسیر بهینه را پیدا کند.
اولویت مسیریابی TRAFFIC_AWARE_OPTIMAL معادل حالتی است که توسط
maps.google.com و برنامه تلفن همراه Google Maps استفاده میشود.
وقتی از این گزینه با Compute Route Matrix استفاده میکنید، تعداد عناصر در درخواست (تعداد مبدأ × تعداد مقصد) محدود است. برای اطلاعات بیشتر درباره محدودیتهای Compute Route Matrix، به محاسبه ماتریس مسیر مراجعه کنید.
پاسخهایی که خواهید دید در اینجا آمده است:
duration: زمان تقریبی ورود برای مسیر با درنظر گرفتن اطلاعات ترافیک همزمان.staticDuration: زمان تقریبی ورود برای مسیر با درنظر گرفتن فقط اطلاعات ترافیک گذشته.
تنظیم زمان حرکت (اختیاری)
از این ویژگی فقط برای درخواستهای آگاه از ترافیک استفاده کنید که زمان حرکت باید در آینده باشد. اگر ویژگی departureTime را تنظیم نکنید، بهطور پیشفرض
روی زمانی تنظیم میشود که درخواست را ارسال میکنید.
وقتی میخواهید نحوه پیشبینی ترافیک توسط سرویس را هنگام انتخاب مسیر تنظیم کنید، از ویژگی departureTime بههمراه گزینههای TRAFFIC_AWARE و TRAFFIC_AWARE_OPTIMAL استفاده کنید.
TRAFFIC_UNAWARE: توصیه نمیشود زیرا انتخاب مسیر و مدتزمان براساس شبکه جادهای و شرایط ترافیک میانگین مستقل از زمان است.TRAFFIC_AWAREوTRAFFIC_AWARE_OPTIMAL: برای حرکتهایی که در آینده نزدیک اتفاق میافتد توصیه میشود زیرا این اولویتها شرایط ترافیک زنده را درنظر میگیرند. هرچهdepartureTimeبه زمان فعلی نزدیکتر باشد، ترافیک زنده مهمتر و مرتبطتر میشود. هرچه زمان حرکت را برای آینده دورتری تنظیم کنید، شرایط ترافیک گذشته بیشتر در انتخاب مسیرها درنظر گرفته میشود.
مثال: نحوه انتخاب مسیریابی با اطلاع از ترافیک
کد JSON زیر نحوه تنظیم اولویت مسیریابی TRAFFIC_AWARE_OPTIMAL
را در بدنه موجودیت پیام درخواست نشان میدهد.
{ "origin":{ "location":{ "latLng":{ "latitude":37.419734, "longitude":-122.0827784 } } }, "destination":{ "location":{ "latLng":{ "latitude":37.417670, "longitude":-122.079595 } } }, "travelMode":"DRIVE", "routingPreference":"TRAFFIC_AWARE_OPTIMAL" }