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

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

כשמשתמשים באפשרות הזו עם מטריצת המסלול של Compute, מספר הרכיבים בבקשה (מספר המקורות כפול מספר היעדים) לא יכול לחרוג מ-100. למידע נוסף על המגבלות של Compute Route Matrix, ראו מטריצת מסלול ב-Compute.

בתשובה:

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