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