כש-Routes API מחשב מסלול, הוא משתמש בנקודות העצירה ובפרמטרים של ההגדרה שאתם מספקים כקלט. לאחר מכן, ה-API מחזיר תשובה שמכילה את המסלול שמוגדר כברירת מחדל ומסלול חלופי אחד או יותר.
התשובה יכולה לכלול סוגים שונים של מסלולים ונתונים אחרים, בהתאם לשדות שביקשת:
כדי לכלול את זה בתשובה | במסמכי התיעוד האלה |
---|---|
המסלול הכי חסכוני בדלק או באנרגיה, על סמך סוג המנוע של הרכב. | הגדרת מסלולים ידידותיים לסביבה |
עד שלושה מסלולים חלופיים | בקשה למסלולים חלופיים |
קו הפוליגון של המסלול כולו, של כל מקטע במסלול ושל כל שלב במקטע. | בקשה לקבלת קווים פוליגונליים של מסלולים |
אגרות הנסיעה המשוערות, בהתחשב בהנחות על אגרות נסיעה או במינויים שזמינים לנהג או לרכב. | חישוב של תשלומי אגרה |
תשובות מותאמות לפי קודי שפה ויחידת מידה (אימפריאלית או מטרית). | בקשה לקבלת ערכים מותאמים |
כדי לעצב את הוראות הניווט כמחרוזת טקסט של HTML, מוסיפים את HTML_FORMATTED_NAVIGATION_INSTRUCTIONS ל-extraComputations . |
חישובים נוספים |
הרשימה המלאה של אפשרויות הקלט מפורטת בקטע אפשרויות זמינות למסלול ובגוף הבקשה.
בעזרת התשובה תוכלו לספק ללקוחות את המידע הדרוש כדי לבחור את המסלול המתאים לצרכים שלהם.
מידע על אנונימיזציה של שדות
כשקוראים לשיטה כדי לחשב מסלול, צריך לציין מסכת שדות שמגדירה את השדות שרוצים שיוחזרו בתגובה. אין רשימת ברירת מחדל של השדות שמוחזרים. אם משמיטים את הרשימה הזו, השיטות מחזירות שגיאה.
בדוגמאות במסמך הזה מוצג אובייקט התגובה כולו, בלי להביא בחשבון מסכות שדות. בסביבת ייצור, התגובה תכלול רק את השדות שציינתם במפורש במסכת השדות.
מידע נוסף זמין במאמר בחירת המידע שיוחזר.
מידע על הצגת זכויות יוצרים
כשמציגים את התוצאות למשתמשים, צריך לכלול את הצהרת זכויות היוצרים הבאה:
Powered by Google, ©YEAR Google
לדוגמה:
Powered by Google, ©2023 Google
מידע על מסלולים, קטעים ושלבים
לפני שבודקים את התשובה שמוחזרת על ידי Routes API, כדאי להבין את הרכיבים שמרכיבים מסלול:
התשובה שלכם עשויה לכלול מידע על כל אחד מרכיבי המסלול הבאים:
מסלול: כל המסע מנקודת הציון המקורית, דרך נקודות ציון ביניים, לנקודת הציון של היעד. מסלול מורכב משלבים אחד או יותר.
שלב: הנתיב מנקודת ציון אחת בנתיב לנקודת הציון הבאה בנתיב. כל שלב מורכב משלבים נפרדים אחד או יותר.
מסלול מכיל מקטע נפרד לנתיב מכל נקודת ציון אחת לנקודה הבאה. לדוגמה, אם המסלול מכיל נקודת ציון אחת למקור ונקודת ציון אחת ליעד, המסלול מכיל שלב אחד. לכל ציון דרך נוסף שמוסיפים למסלול אחרי המקור והיעד, שנקרא ציון דרך ביניים, ה-API מוסיף שלב נפרד.
ה-API לא מוסיף שלב לציון דרך ביניים למעביר. לדוגמה, מסלול שמכיל נקודת ציון להתחלה, נקודת ציון ביניים לצורך מעבר ונקודת ציון ליעד מכיל רק שלב אחד מהמוצא ליעד, דרך נקודת הציון. מידע נוסף על נקודות דרך לצורך מעבר מפורט במאמר הגדרת נקודת דרך לצורך מעבר.
שלב: הוראה אחת במסגרת מקטע של מסלול. שלב הוא היחידה האטומית ביותר במסלול. לדוגמה, שלב יכול לציין 'פנייה שמאלה ברחוב הראשי'.
מה נכלל בתשובה
אובייקט ה-JSON שמייצג את תגובת ה-API מכיל את המאפיינים הבאים ברמה העליונה:
routes
, מערך של רכיבים מסוג Route. המערךroutes
מכיל רכיב אחד לכל מסלול שה-API החזיר. המערך יכול להכיל עד חמישה רכיבים: מסלול ברירת המחדל, המסלול הידידותי לסביבה ועד שלושה מסלולים חלופיים.geocodingResults
, מערך של רכיבים מסוג GeocodingResults. לכל מיקום בבקשה (מקור, יעד או נקודת ציון ביניים) שציינתם כמחרוזת כתובת או כPlus Code, ה-API מבצע חיפוש של מזהה מקום. כל רכיב במערך הזה מכיל את מזהה המקום שמתאים למיקום. מיקומים בבקשה שצוינו בתור מזהה מקום או בתור קואורדינטות של קו רוחב/אורך לא נכללים. אם ציינת את כל המיקומים באמצעות מזהי מקומות או קואורדינטות של קווי רוחב ואורך, המערך הזה לא מסופק.fallbackInfo
, מסוג FallbackInfo. אם ה-API לא יכול לחשב מסלול מכל מאפייני הקלט, ייתכן שהוא ישתמש בשיטת חישוב אחרת. כשמשתמשים במצב חלופי, השדה הזה מכיל מידע מפורט על התגובה החלופית. אחרת, השדה לא מוגדר.
התגובה נראית כך:
{ // The routes array. "routes": [ { object (Route) } ], // The place ID lookup results. "geocodingResults": [ { object (GeocodedWaypoint) } ], // The fallback property. "fallbackInfo": { object (FallbackInfo) } }
פענוח מערך המסלולים
התשובה מכילה את המערך routes
, שבו כל רכיב במערך הוא מסוג Route.
כל רכיב במערך מייצג מסלול שלם מהמוצא ליעד. ה-API תמיד מחזיר לפחות מסלול אחד, שנקרא מסלול ברירת המחדל.
אפשר לבקש מסלולים נוספים. אם מבקשים מסלול ידידותי לסביבה, המערך יכול להכיל שני רכיבים: המסלול שמוגדר כברירת מחדל והמסלול הידידותי לסביבה. לחלופין, אפשר להגדיר את computeAlternativeRoutes
לערך true
בבקשה כדי להוסיף עד שלושה מסלולים חלופיים לתגובה.
כל מסלול במערך מזוהה באמצעות מאפיין המערך routeLabels
:
ערך | תיאור |
---|---|
DEFAULT_ROUTE |
מזהה את מסלול ברירת המחדל. |
FUEL_EFFICIENT |
זיהוי המסלול הידידותי לסביבה. |
DEFAULT_ROUTE_ALTERNATE |
I מציין מסלול חלופי. |
המערך legs
מכיל את ההגדרה של כל מקטע במסלול. שאר המאפיינים, כמו distanceMeters
, duration
ו-polyline,
, מכילים מידע על המסלול כולו:
{ "routeLabels": [ enum (RouteLabel) ], "legs": [ { object (RouteLeg) } ], "distanceMeters": integer, "duration": string, "routeLabels": [string], "staticDuration": string, "polyline": { object (Polyline) }, "description": string, "warnings": [ string ], "viewport": { object (Viewport) }, "travelAdvisory": { object (RouteTravelAdvisory) } "routeToken": string }
בגלל תנאי הנסיעה הנוכחיים וגורמים אחרים, יכול להיות שהמסלול שמוגדר כברירת מחדל יהיה זהה למסלול הידידותי לסביבה. במקרה הזה, מערך routeLabels
מכיל את שתי התוויות: DEFAULT_ROUTE
ו-FUEL_EFFICIENT
.
{ "routes": [ { "routeLabels": [ "DEFAULT_ROUTE", "FUEL_EFFICIENT" ], … } ] }
הסבר על מערך השלבים
כל route
בתגובה מכיל מערך legs
, שבו כל רכיב במערך legs
הוא מסוג RouteLeg.
כל מקטע במערך מגדיר את הנתיב מנקודת ציון אחת לנקודת הציון הבאה לאורך המסלול. מסלול תמיד מכיל לפחות מקטע אחד.
המאפיין legs
מכיל את ההגדרה של כל שלב לאורך הרגל במערך steps
. שאר המאפיינים, כמו distanceMeters
, duration
ו-polyline
, מכילים מידע על הצעד.
{ "distanceMeters": integer, "duration": string, "staticDuration": string, "polyline": { object (Polyline) }, "startLocation": { object (Location) }, "endLocation": { object (Location) }, "steps": [ { object (RouteLegStep) } ], "travelAdvisory": { object (RouteLegTravelAdvisory) } }
הסבר על מערך השלבים
כל מקטע בתגובה מכיל מערך steps
, שבו כל רכיב במערך steps
הוא מסוג RouteLegStep.
שלב תואם להוראה אחת לאורך הרגל. כל מקטע תמיד מכיל לפחות שלב אחד.
כל רכיב במערך steps
כולל את המאפיין navigationInstruction
מסוג NavigationInstruction, שמכיל את הוראות השלב. לדוגמה:
"navigationInstruction": { "maneuver": "TURN_LEFT", "instructions": "Turn left toward Frontage Rd" }
השדה instructions
עשוי להכיל מידע נוסף על השלב. לדוגמה:
"navigationInstruction": { "maneuver": "TURN_SLIGHT_LEFT", "instructions": "Slight left (signs for I-90 W/Worcester)nParts of this road may be closed at certain times or days" }
שאר המאפיינים בשלב מתארים מידע על השלב, כמו distanceMeters
, duration
ו-polyline
:
{ "distanceMeters": integer, "staticDuration": string, "polyline": { object (Polyline) }, "startLocation": { object (Location) }, "endLocation": { object (Location) }, "navigationInstruction": { object (NavigationInstruction) } }
ציון השפה של הוראות השלב
ה-API מחזיר את פרטי המסלול בשפה המקומית, וממיר אותם לכתב שאפשר לקרוא, אם צריך, תוך שמירה על השפה המועדפת. כל רכיבי הכתובת מוחזרים באותה שפה.
משתמשים בפרמטר
languageCode
של בקשה כדי להגדיר באופן מפורש את שפת המסלול מתוך רשימת השפות הנתמכות. Google מעדכנת לעיתים קרובות את השפות הנתמכות, ולכן יכול להיות שהרשימה הזו לא תהיה מקיפה.אם שם לא זמין בשפה שצוינה, ה-API משתמש בתוצאה הקרובה ביותר.
השפה שצוינה יכולה להשפיע על קבוצת התוצאות שה-API בוחר להחזיר ועל הסדר שבו הן מוחזרות. המערכת למיפוי גיאוגרפי מפענחת קיצורים באופן שונה בהתאם לשפה, למשל קיצורים של סוגי רחובות או מילים נרדפות שעשויות להיות תקפות בשפה אחת אבל לא בשפה אחרת. לדוגמה, utca ו-tér הם שמות נרדפים לרחוב בהונגרית.
הסבר על המערך geocodingResults
לכל מיקום בבקשה (מקור, יעד או נקודת ציון ביניים) שצוין כמחרוזת כתובת או כPlus Code, ה-API מנסה למצוא את המיקום הרלוונטי ביותר שיש לו מזהה מקום תואם. כל רכיב במערך geocodingResults
מכיל את השדה placeID
שמכיל את המיקום כמזהה מקום, ואת השדה type
שמציין את סוג המיקום, למשל street_address
, premise
או airport
.
המערך geocodingResults
מכיל שלושה שדות:
origin
: אם הוא צוין כמחרוזת של כתובת או כקוד Plus, מזהה המקום של המקור. אחרת, השדה הזה לא ייכלל בתגובה.destination
: אם הוא צוין כמחרוזת כתובת או כ-Plus Code, מזהה המקום של היעד. אחרת, השדה הזה לא מופיע בתגובה.intermediates
: מערך שמכיל את מזהה המיקום של נקודות ציון ביניים שצוינו כמחרוזת כתובת או כ-Plus Code. אם מציינים נקודת ציון ביניים באמצעות מזהה מקום או קואורדינטות של קו אורך וקו רוחב, היא לא תופיע בתגובה. משתמשים במאפייןintermediateWaypointRequestIndex
בתגובה כדי לקבוע איזו נקודת ציון ביניים בבקשה תואמת למזהה המקום בתגובה.
"geocodingResults": { "origin": { "geocoderStatus": {}, "type": [ enum (Type) ], "placeId": string }, "destination": { "geocoderStatus": {}, "type": [ enum (Type) ], "placeId": string }, "intermediates": [ { "geocoderStatus": {}, "intermediateWaypointRequestIndex": integer, "type": [ enum (Type) ], "placeId": string }, { "geocoderStatus": {}, "intermediateWaypointRequestIndex": integer, "type": [ enum (Type) ], "placeId": string } ] }
הסבר על ערכי תגובה מותאמים לשוק המקומי
ערכים של תגובות מותאמות לשוק המקומי הם שדה תגובה נוסף שמספק טקסט מותאם לשוק המקומי של ערכי הפרמטרים שהוחזרו. הטקסט מתורגם למשך הנסיעה, למרחק ולמערכת היחידות (מטרית או אימפריאלית). אתם מבקשים ערכים מותאמים אישית באמצעות מסכת שדה, ותוכלו לציין את השפה ומערכת היחידות או להשתמש בערכים שה-API הסיק. פרטים נוספים זמינים במאמר LocalizedValues.
לדוגמה, אם מציינים את קוד השפה 'גרמנית' (de) ואת היחידות המלכותיות, הערך של distanceMeters
יהיה 49889.7, אבל יופיע גם טקסט מותאם אישית עם מדידת המרחק ביחידות המלכותיות ובגרמנית, כלומר '31 Meile'.
דוגמה למה שיוצג בערכים שהותאמו לשוק המקומי:
{ "localized_values": { "distance": { "text": "31,0 Meile/n" }, "duration": { "text": 38 Minuten}. "static_duration": { "text": 36 Minuten}. } }
אם לא מציינים את השפה או את מערכת היחידות, המערכת מסיקה את השפה והיחידות לפי הקריטריונים הבאים:
- השיטה
ComputeRoutes
מסיקה את המיקום ואת יחידות המרחק מנקודת הציון של המקור. לכן, בבקשת ניתוב בארה"ב, ה-API מסיק את השפהen-US
והיחידותIMPERIAL
. - שפת ברירת המחדל של השיטה
ComputeRouteMatrix
היא 'en-US' ויחידות ברירת המחדל הן METRIC.