ניתן לחשב את המרחק ואת משך המסלול של כמה מסלולים
מקורות ויעדים באמצעות השיטה ComputeRouteMatrix
של ה-Routs Preferred API. ComputeRouteMatrix
תומך
גם בסטרימינג קריאות gRPC וגם בקריאות HTTP מסוג REST.
הוגדרה רשימת צמדים של מוצא ויעד, ComputeRouteMatrix
מחשב את המרחק ומשך הזמן של מסלול החל מכל נקודת מוצא
והוא מסתיים בכל יעד. כל רכיב בזרם תואם
את המידע לגבי מסלול יחיד.
לשיטה ComputeRouteMatrix
יש כמה יתרונות על פני
שירות מטריצת מרחק:
- סטרימינג מאפשר להחזיר יסודות לפני כל המטריצה חושב, מה שמקטין את זמן האחזור.
ComputeRouteMatrix
כולל אפשרויות פרטניות לחישוב תנועה, שמאפשרות לכם לקבל החלטות בנוגע לזמן אחזור באיכות גבוהה.- הבקשות מוצגות בעדיפות גבוהה יותר בתשתית של Google, מה שמוביל לזמינות גבוהה יותר.
- ניתן לציין כותרת (כיוון נסיעה) וצדדית הדרך לקבלת מידע על ציוני דרך.
- אפשר לבקש החזרה של מידע על כבישי האגרה, יחד עם מרחק המסלול וזמן ההגעה המשוער.
הפעלת השיטה ComputeRouteMatrix
לפני שתוכלו להשתמש בשיטה ComputeRouteMatrix
בקוד שלכם, אתם צריכים
להפעיל אותו. למידע נוסף על הפעלת Routes Preferred API
במאמר תחילת העבודה.
שימוש ב-method ComputeRouteMatrix
השיטה ComputeRouteMatrix
זמינה דרך 'מסלולים מועדפים'
נקודת קצה v1.
מידע מפורט יותר זמין במסמכים הבאים:
השלבים הכלליים הבאים מתארים איך להשתמש ב-gRPC כדי לקרוא
השיטה ComputeRouteMatrix
:
בידקו את האב-טיפוסים הנדרשים ממאגר googleapis:
https://github.com/googleapis/googleapis/tree/master/google/maps/routes
שימו לב שמערכות build מסוימות, כמו Go, עשויות לבצע את הפעולה הזו באופן אוטומטי.
באמצעות השפה המועדפת עליכם וקבוצת כלי ה-build אתם יכולים ליצור את בקוד של מאגר הנתונים הזמני.
יוצרים את הבקשה. יש לשלוח שני חלקים נדרשים של מטא-נתונים עם הבקשה:
- יש להגדיר את X-Goog-Api-Key למפתח ה-API.
יש להגדיר את X-Goog-Fieldmask כרשימת שדות שמופרדת בפסיקים שנדרשים מהתגובה. לדוגמה, X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status. אפשר להשתמש בתו הכללי לחיפוש (*) כדי לציין את כל השדות, אבל כלומר אבל לא מומלץ. אפשר להשתמש בתו הכללי לחיפוש כדי לבדוק ולהבין את תגובה מה-API, אבל צריך לציין במפורש את השדות שרוצים שיופיעו במסכת השדות. בקוד הייצור.
למידע נוסף על בניית מחרוזת של מסכת שדות, אפשר לעיין במאמר https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto. שים לב שאם תשבית שדות שאינם נחוצים לך תוכל לקצר את זמן האחזור, בשדות האלה עשוי להידרש חישוב נוסף. זמן האחזור יישאר יציבה אם מציינים את השדות הדרושים ושדות חדשים שמחייבים חישובים נוספים יתווספו מאוחר יותר.
שליחת הבקשה אל
routespreferred.googleapis.com:443
.חובה להשתמש בפרוטוקול TLS.
דוגמאות לשימוש בשיטה ComputeRouteMatrix
זמינות כאן
דוגמאות לחישוב מטריצת מסלולים (בטא).
אחת התכונות שמבדילות בין השיטה ComputeRouteMatrix
ניתן להחזיר קודי שגיאה עבור כל השידור או עבור יחידים
רכיבים. לדוגמה, החיבור לשידור מחזיר שגיאה אם הבקשה
שגוי (לדוגמה, המקור שלו אפס). אבל אם מתקבלת שגיאה
רק לכמה רכיבים של עדכוני התוכן (למשל, הגדרת מזהה מקום לא חוקי).
עבור מקור), רק הרכיבים שמושפעים מהשגיאה מכילים קודי שגיאה.
הרכיבים שהסטרימינג מחזיר לא מובטחים שיוחזרו
בכל סדר שהוא. לכן כל רכיב מכיל origin_index
וdestination_index
. לגבי המוצא והיעדים שצוינו
לפי הבקשה, מוצא המסלול שווה ל-origins[origin_index]
לרכיב נתון ויעד המסלול שווה ערך
אל destinations[destination_index]
. המערכים האלה נוספים אפס באינדקס. הוא
חשוב לאחסן את ההזמנות של רשימות המקור והיעד.
מתבצע חישוב של עמלות האגרה
לקבלת מידע על חישוב עמלות האגרה, ראו לחשב את עמלות האגרה.
דוגמאות לחישוב של עמלות האגרה: דוגמאות לחישוב מטריצת מסלולים.