העדפות התנועה שבחרת יאזנו את רמת הדיוק של פרטי המסלול עם ביצועי הבקשות. כששולחים בקשה, צריך לשקול אם טובה יותר להחזיר תוצאות מדויקות ככל האפשר, או להחזיר תוצאות במהירות האפשרית. Routes API מספק אפשרויות שמאפשרות לכם לשלוט איכות נתוני התגובה לעומת זמן האחזור של התשובה.
הגדרת הרמה של נתוני התנועה
ה-Routes API מספק RoutingPreference (REST) ו- RoutingPreference (gRPC) שמאפשרים לציין העדפות ניתוב לחישוב מסלולים. האלה ההעדפות משתנות במידה שבה הן מביאות בחשבון את תנאי התנועה חישוב המסלול. כל העדפת ניתוב יוצרת תוצאות השונות תואר ביחס לאיכות המסלול, זמן ההגעה המשוער המשוער וזמן האחזור של התגובה.
מצב התנועה מאפיין את קצב זרימת התנועה. לדוגמה:
- כשאין עומס, מצב התנועה נחשב רגיל וכן התנועה תזוזה במהירות הרגילה ללא הגבלות.
- לקראת שעת העומס, צפיפות התנועה עולה, דבר שגורם לתנועה להאט, כך שמצב התנועה קל עד בינוני.
- בעומסי תנועה כבדים מאוד, קצב הזרימה נעצר ויוצר עומס תנועה כבד מצב התנועה.
אין מודעות לתנועה
כשמגדירים את העדפת הניתוב של TRAFFIC_UNAWARE
, המסלולים מחושבים.
בלי להביא בחשבון את מצב התנועה הנוכחי. העדפת הניתוב הזו
מספק את זמן האחזור הנמוך ביותר של התגובה (התשובות מוחזרות הכי מהר).
הגדרת ברירת המחדל היא TRAFFIC_UNAWARE
.
בתשובה:
זמן ההגעה המשוער נמצא במאפיין התגובה
duration
.מאפייני התגובה
duration
ו-staticDuration
מכילים אותם עם ערך מסוים.
כדאי להשתמש בהעדפת הניתוב הזו כאשר רוצים שהתשובות יחזרו במהירות הגבוהה ביותר, וגם פרטי הניתוב המשוערים טובים מספיק.
מודעות לתנועה
כשמגדירים את העדפת הניתוב של TRAFFIC_AWARE
, המסלולים מחושבים.
תוך התייחסות למצב התנועה הנוכחי. כתוצאה מכך, המסלול והמסלול
שישקפו בצורה מדויקת יותר את התנאים בשטח. בגלל שהעלייה הזאת
איכות הנתונים באה על חשבון זמן האחזור של התגובה, אופטימיזציה של ביצועים
הן בשימוש כדי לקצר חלק גדול מזמן האחזור.
בתשובה:
זמן ההגעה המשוער שמביא בחשבון את התנועה בזמן אמת נכלל מאפיין תגובה
duration
.מאפיין התגובה
staticDuration
מכיל את משך הנסיעה במסלול בלי להביא בחשבון את מצב התנועה.
כדאי להשתמש בהעדפת הניתוב הזו אם רוצים לקבל פרטי ניתוב מדויקים יותר מאשר
TRAFFIC_UNAWARE
, אבל לא איכפת לך אם תשובות מוחזרות עם
הארכה בינונית של זמן האחזור.
מודעוּת לתנועה אופטימלית
כשמגדירים את העדפת הניתוב של TRAFFIC_AWARE_OPTIMAL
, המסלולים הם
שמחושב על סמך תנאי התנועה הנוכחיים, אבל ללא ביצועים
אופטימיזציה שבוצעו. במצב הזה, השרת מבצע בדיקה מקיפה יותר
את החיפוש של רשת הדרכים כדי למצוא את המסלול האופטימלי.
העדפת הניתוב TRAFFIC_AWARE_OPTIMAL
מקבילה למצב שבו נעשה שימוש
maps.google.com ולפי
אפליקציית מפות Google לנייד.
כשמשתמשים באפשרות הזו עם מטריצת נתיב החישוב, מספר רכיבים בבקשה (מספר המקורות × מספר היעדים) לא יכולים לחרוג 100. למידע נוסף על המגבלות של Compute Route Matrix ראו חישוב מטריצת מסלול
בתשובה:
זמן ההגעה המשוער שמביא בחשבון את התנועה בזמן אמת נכלל מאפיין תגובה
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 מאפשר לבקש מידע על מצב התנועה לצד קו פוליגוני מבוסס-תנועה. צפייה למידע נוסף, אפשר לבקש קווים פוליגוניים.