בהינתן קבוצה של ציוני דרך סופיים ובלתי ביניים, ומטרת מסלול, מחשבת את המסלול הטוב ביותר עבור יעד המסלול. כמו כן, מחזירה את המסלול המהיר ביותר ואת המסלול הקצר ביותר כמסלולי הפניה.
הערה: לשיטה הזו צריך לציין אנונימיזציה של שדות תגובה בקלט. אפשר לספק את האנונימיזציה של שדות התגובה באמצעות הפרמטר של כתובת ה-URL $fields
או fields
, או באמצעות הכותרת HTTP/gRPC X-Goog-FieldMask
(ניתן לעיין בכותרות והפרמטרים הזמינים של כתובות URL. הערך הוא רשימה של נתיבי שדות המופרדים בפסיקים. בקישור הבא מוסבר איך ליצור את נתיבי השדות.
לדוגמה, בשיטה הזו:
- אנונימיזציה של שדות של כל השדות הזמינים (לבדיקה ידנית):
X-Goog-FieldMask: *
- מסכת שדות שכוללת מרחקים, משכי זמן, אסימונים וכבישי אגרה:
X-Goog-FieldMask: routes.route.distanceMeters,routes.route.duration,routes.token,routes.route.travelAdvisory.tollInfo
Google לא ממליצה להשתמש באנונימיזציה של שדה התשובה עם התו הכללי לחיפוש (*
), או לציין את מסיכת השדות ברמה העליונה (routes
), מהסיבה הבאה:
- בחירת השדות הדרושים לך בלבד עוזרת לשרת שלנו לשמור מחזורי חישוב, ומאפשרת לנו להחזיר את התוצאה אליך עם זמן אחזור קצר יותר.
- אם בוחרים רק את השדות הנדרשים בעבודת הייצור, אפשר להשיג ביצועים יציבים בזמן האחזור. יכול להיות שבעתיד נוסיף עוד שדות תגובה, ויכול להיות שהשדות החדשים האלה ידרשו זמן חישוב נוסף. אם תבחרו את כל השדות, או אם תבחרו את כל השדות ברמה העליונה, יכול להיות שתבחינו בירידה בביצועים כי כל שדה חדש שנוסיף יופיע באופן אוטומטי בתשובה.
- בחירה רק של השדות הדרושים מובילה לתגובת תגובה קטנה יותר, וכך לתפוקת רשת גבוהה יותר.
בקשת HTTP
POST https://routespreferred.googleapis.com/v1alpha:computeCustomRoutes
בכתובת ה-URL נעשה שימוש בתחביר המרת gRPC.
גוף הבקשה
גוף הבקשה מכיל נתונים במבנה הבא:
ייצוג JSON |
---|
{ "origin": { object ( |
שדות | |
---|---|
origin |
חובה. ציון הדרך של נקודת המוצא. |
destination |
חובה. ציון הדרך של היעד. |
intermediates[] |
אפשרות. קבוצת ציוני דרך לאורך המסלול (לא כולל נקודות קצה), לעצירה או להמתנה. ניתן לכלול עד 25 ציוני דרך. |
travelMode |
אפשרות. מציין את אמצעי התחבורה. רק drive נתמך עכשיו. |
routingPreference |
אפשרות. מציין את אופן חישוב המסלול. השרת מנסה להשתמש בהעדפת הניתוב שנבחרה כדי לחשב את המסלול. אם העדפת הניתוב מובילה לשגיאה או לזמן אחזור ארוך במיוחד, תוחזר שגיאה. בעתיד, ייתכן שניישם מנגנון חלופה לשימוש באפשרות אחרת, כאשר האפשרות המועדפת אינה מספקת תוצאה חוקית. אפשר לציין את האפשרות הזו רק כאשר הערך של |
polylineQuality |
אפשרות. מציין את ההעדפה שלכם לאיכות של הקו מרובה. |
polylineEncoding |
אפשרות. מציין את הקידוד המועדף לקו מרובה-הקווים. |
departureTime |
אפשרות. שעת היציאה. אם לא תגדירו את הערך הזה, ערך ברירת המחדל יהיה השעה שבה שלחתם את הבקשה. אם מגדירים את הערך הזה למועד שכבר התרחש, הבקשה תיכשל. חותמת זמן בפורמט "זולו" RFC3339 UTC, ברזולוציה של ננו-שנייה ועד תשע ספרות עשרוניות. דוגמאות: |
routeModifiers |
אפשרות. קבוצת תנאים שיש לעמוד בהם, שמשפיעים על אופן החישוב של המסלולים. |
routeObjective |
חובה. יעד של מסלול שהמערכת יכולה לבצע עבורו אופטימיזציה. |
languageCode |
אפשרות. קוד השפה BCP-47, למשל "en-US" או "sr-Latn". מידע נוסף זמין בכתובת http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. כאן אפשר למצוא את רשימת השפות הנתמכות. אם לא תספקו את הערך הזה, המערכת תסיק את שפת התצוגה לפי המיקום של בקשת המסלול. |
units |
אפשרות. מציינת את יחידות המידה בשדות התצוגה. כולל השדה |
גוף התגובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכלול מופע של ComputeCustomRoutesResponse
.
היקפי הרשאות
נדרש היקף OAuth הבא:
https://www.googleapis.com/auth/maps-platform.routespreferred
למידע נוסף, עיין בסקירה הכללית על OAuth 2.0.