העדפות התנועה שאתם בוחרים מאזנות בין הדיוק של פרטי המסלול לבין ביצועי הבקשה באחת משתי דרכים:
מודע לתנועה – החזרת התוצאות המדויקות ביותר שאפשר (חביון גבוה יותר).
לא מודע לתנועה – החזרת התוצאות במהירות האפשרית (החביון הנמוך ביותר).
כשאתם שולחים בקשה, כדאי לשקול אם עדיף להחזיר את התוצאות הכי מדויקות שאפשר, או להחזיר תוצאות כמה שיותר מהר. ממשק 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
routing preference שווה למצב שבו נעשה שימוש בכתובת maps.google.com ובאפליקציית מפות Google לנייד.
כשמשתמשים באפשרות הזו עם 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" }
הגדרת תנועה בקווי פוליגון
באמצעות Routes API אפשר לבקש מידע על מצב התנועה לאורך קו פוליגוני שמתעדכן לפי התנועה. מידע נוסף זמין במאמר בקשת קווי פוליגון.