- בקשת HTTP
- גוף הבקשה
- גוף התגובה
- RouteMatrixOrigin
- RouteMatrixDestination
- ExtraComputation
- RouteMatrixElementCondition
- LocalizedValues
הפונקציה מקבלת רשימה של מקורות ויעדים ומחזירה פלט שמכיל פרטי מסלול לכל שילוב של מקור ויעד.
הערה: בשיטה הזו צריך לציין מסכה של שדה תגובה בקלט. אפשר לספק את המסכה של שדה התגובה באמצעות הפרמטר של כתובת ה-URL $fields
או fields
, או באמצעות הכותרת HTTP/gRPC X-Goog-FieldMask
(ראו הפרמטרים והכותרות הזמינים של כתובות URL). הערך הוא רשימה של נתיבים של שדות, מופרדים בפסיקים. איך יוצרים את נתיבי השדות
לדוגמה, בשיטה הזו:
- אנונימיזציה של כל השדות הזמינים (לבדיקה ידנית):
X-Goog-FieldMask: *
- מסכת שדה של משכי זמן, מרחקים, סטטוס רכיבים, תנאים ומערכי רכיבים של מסלולים (דוגמה להגדרה בסביבת הייצור):
X-Goog-FieldMask: originIndex,destinationIndex,status,condition,distanceMeters,duration
חשוב מאוד לכלול את status
במסכת השדה, אחרת כל ההודעות יופיעו כתקינות. Google ממליצה לא להשתמש במסכת השדה של התגובה עם התו הכללי לחיפוש (*
), כי:
- בחירת השדות הנחוצים בלבד עוזרת לשרת שלנו לחסוך מחזורי חישוב, וכך אנחנו יכולים להחזיר לכם את התוצאה עם זמן אחזור נמוך יותר.
- בחירה רק של השדות הנחוצים למשימה בסביבת הייצור מבטיחה ביצועים יציבים של זמן אחזור. יכול להיות שנוסיף עוד שדות תגובה בעתיד, ויכול להיות שהשדות החדשים האלה ידרשו זמן חישוב נוסף. אם בוחרים את כל השדות, או אם בוחרים את כל השדות ברמה העליונה, יכול להיות שתבחינו בירידה בביצועים כי כל שדה חדש שאנחנו מוסיפים ייכלל באופן אוטומטי בתגובה.
- אם בוחרים רק את השדות הנחוצים, גודל התגובה קטן יותר, וכתוצאה מכך קצב העברת הנתונים ברשת גבוה יותר.
בקשת HTTP
POST https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix
כתובת ה-URL משתמשת בתחביר של Transcoding של gRPC.
גוף הבקשה
גוף הבקשה מכיל נתונים במבנה הבא:
ייצוג ב-JSON |
---|
{ "origins": [ { object ( |
שדות | |
---|---|
origins[] |
חובה. מערך מקורות, שמגדיר את השורות במטריצה של התשובה. יש כמה הגבלות על הגודל של מקורות ויעדים:
|
destinations[] |
חובה. מערך של יעדים, שקובע את העמודות של מטריצה התגובה. |
travelMode |
אופציונלי. מציין את אמצעי התחבורה. |
routingPreference |
אופציונלי. מציין איך לחשב את המסלול. השרת מנסה להשתמש בהעדפת הניתוב שנבחרה כדי לחשב את המסלול. אם העדפת הניתוב גורמת לשגיאה או לזמן אחזור ארוך במיוחד, תוחזר שגיאה. אפשר לציין את האפשרות הזו רק כאשר הערך של |
departureTime |
אופציונלי. שעת היציאה. אם לא תגדירו את הערך הזה, ערך ברירת המחדל שלו יהיה השעה שבה שלחתם את הבקשה. הערה: אפשר לציין הפורמט הזה משתמש ב-RFC 3339, שבו הפלט שנוצר תמיד יהיה מנורמלי לפי Z וישמש בספרות עשרוניות של 0, 3, 6 או 9. אפשר להשתמש גם בשינויים (offsets) אחרים מלבד 'Z'. דוגמאות: |
arrivalTime |
אופציונלי. שעת ההגעה. הערה: אפשר להגדיר את השדה הזה רק אם הערך של הפורמט הזה משתמש ב-RFC 3339, שבו הפלט שנוצר תמיד יהיה מנורמלי לפי Z וישמש בספרות עשרוניות של 0, 3, 6 או 9. אפשר להשתמש גם בשינויים (offsets) אחרים מלבד 'Z'. דוגמאות: |
languageCode |
אופציונלי. קוד השפה לפי BCP-47, למשל 'en-US' או 'sr-Latn'. מידע נוסף זמין במאמר מזהה המקום (locale) של Unicode. כאן אפשר לעיין ברשימת השפות הנתמכות. אם לא מציינים את הערך הזה, שפת התצוגה נובעת מהמיקום של המקור הראשון. |
regionCode |
אופציונלי. קוד האזור, שמצוין כערך בן שתי אותיות של דומיין ברמה עליונה עם קוד מדינה (ccTLD). מידע נוסף זמין במאמר דומיינים ברמה העליונה עם קוד מדינה. |
units |
אופציונלי. מציין את יחידות המידה של שדות התצוגה. |
extraComputations[] |
אופציונלי. רשימה של חישובים נוספים שעשויים לשמש להשלמתה של הבקשה. הערה: החישובים הנוספים האלה עשויים להחזיר שדות נוספים בתגובה. צריך לציין את השדות הנוספים האלה גם במסכת השדות כדי שהם יחזרו בתגובה. |
trafficModel |
אופציונלי. ההנחות שישמשו לחישוב הזמן בפקקים. ההגדרה הזו משפיעה על הערך שמוחזר בשדה duration ב- |
transitPreferences |
אופציונלי. העדפות שמשפיעות על המסלול שמוחזר למסלולים מסוג |
גוף התשובה
מכיל מידע על מסלולים שחושבו עבור זוג מקור/יעד ב-API v2.computeRouteMatrix. אפשר להעביר את ה-proto הזה ללקוח בסטרימינג.
אם הפעולה מצליחה, גוף התגובה מכיל נתונים במבנה הבא:
ייצוג ב-JSON |
---|
{ "status": { object ( |
שדות | |
---|---|
status |
קוד סטטוס השגיאה של האלמנט הזה. |
condition |
מציין אם המסלול נמצא או לא. ללא קשר לסטטוס. |
distanceMeters |
מרחק הנסיעה במסלול, במטרים. |
duration |
משך הזמן הנדרש לנסיעה במסלול. אם מגדירים את משך זמן בשניות, עם עד תשע ספרות עשרוניות, שמסתיימים ב-' |
staticDuration |
משך הנסיעה במסלול, בלי להביא בחשבון את מצב התנועה. משך זמן בשניות, עם עד תשע ספרות עשרוניות, שמסתיימים ב-' |
travelAdvisory |
מידע נוסף על המסלול. לדוגמה: מידע על הגבלות ומידע על כבישי אגרה |
fallbackInfo |
במקרים מסוימים, אם השרת לא מצליח לחשב את המסלול עם ההעדפות הנתונות לזוג המקור/היעד הספציפי הזה, הוא עשוי לעבור לשימוש במצב חישוב אחר. כשמשתמשים במצב חלופי, השדה הזה מכיל מידע מפורט על התשובה החלופית. אם לא, השדה לא מוגדר. |
localizedValues |
ייצוגים של מאפיינים של |
originIndex |
אינדקס שמתחיל באפס של המקור בבקשה. |
destinationIndex |
אינדקס מבוסס-אפס של היעד בבקשה. |
RouteMatrixOrigin
מקור יחיד ל-ComputeRouteMatrixRequest
ייצוג ב-JSON |
---|
{ "waypoint": { object ( |
שדות | |
---|---|
waypoint |
חובה. ציון הדרך של המקור |
routeModifiers |
אופציונלי. משתני אופן הגדרה לכל מסלול שמשתמש בזה כמקור |
RouteMatrixDestination
יעד יחיד ל-ComputeRouteMatrixRequest
ייצוג ב-JSON |
---|
{
"waypoint": {
object ( |
שדות | |
---|---|
waypoint |
חובה. ציון דרך ליעד |
ExtraComputation
חישובים נוספים לביצוע במהלך השלמת הבקשה.
טיפוסים בני מנייה (enum) | |
---|---|
EXTRA_COMPUTATION_UNSPECIFIED |
לא בשימוש. בקשות שמכילות את הערך הזה ייכשל. |
TOLLS |
פרטי התשלום על כבישי אגרה של רכיבי המטריצה. |
RouteMatrixElementCondition
התנאי של המסלול המוחזר.
טיפוסים בני מנייה (enum) | |
---|---|
ROUTE_MATRIX_ELEMENT_CONDITION_UNSPECIFIED |
משמש רק כשהערך של status ברכיב לא תקין. |
ROUTE_EXISTS |
נמצא מסלול והמידע התואם הוזן לאלמנט. |
ROUTE_NOT_FOUND |
לא נמצא מסלול. שדות שמכילים פרטי מסלול, כמו distanceMeters או duration , לא ימולאו ברכיב. |
LocalizedValues
ייצוגים של טקסט של נכסים מסוימים.
ייצוג ב-JSON |
---|
{ "distance": { object ( |
שדות | |
---|---|
distance |
מרחק הנסיעה שמוצג בטקסט. |
duration |
משך הזמן שמוצג בטקסט, תוך התחשבות בתנאי התנועה. הערה: אם לא התבקשו נתוני תנועה, הערך הזה יהיה זהה לערך של staticDuration. |
staticDuration |
משך הנסיעה שמוצג בטקסט, בלי להביא בחשבון את תנאי התנועה. |
transitFare |
מחיר הנסיעה בתחבורה הציבורית שמוצג בטקסט. |