ציון איך ומתי לכלול נתוני תנועה

העדפות התנועה שבחרתם מאזנות בין הדיוק של פרטי המסלול לבין ביצועי הבקשה. כשאתם שולחים בקשה, כדאי לשקול אם עדיף להציג תוצאות מדויקות ככל האפשר או להחזיר תוצאות במהירות האפשרית. הממשק Routes API כולל אפשרויות שמאפשרות לכם לשלוט באיכות של נתוני התגובות לעומת זמן האחזור של התשובה.

הגדרה של רמת נתוני התנועה

ב-Routing 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 לנייד.

כשמשתמשים באפשרות הזו עם Compute Route Matrix, מספר הרכיבים בבקשה (מספר המקורות כפול מספר היעדים) לא יכול להיות גדול מ-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"
}

הגדרת תנועה בקווים פוליגוניים

ה-API של Routes מאפשר לבקש מידע על מצב התנועה יחד בקו פולימר מבוסס-תנועה. מידע נוסף זמין במאמר בקשת קווים פוליגוניים.