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