העדפות התנועה שבוחרים מאזנות בין הדיוק של פרטי המסלול לבין ביצועי הבקשה. כששולחים בקשה, צריך לשקול אם טובה יותר להחזיר תוצאות מדויקות ככל האפשר, או להחזיר תוצאות במהירות האפשרית. 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 אפשר לבקש מידע על תנאי התנועה לאורך קו פוליגון עם התחשבות בתנועה. צפייה למידע נוסף, אפשר לבקש קווים פוליגוניים.