המוצר הזה נמצא בסטטוס קודם. החל מאוקטובר 2026, לא תהיה יותר אפשרות להפעיל את Directions API (הגרסה הקודמת) בפרויקטים חדשים ב-Google Cloud. פרויקטים קיימים ימשיכו לקבל תמיכה מלאה. כדי ליהנות מתכונות חדשות ומביצועים משופרים, עברו ל-Routes API.
כדי לחשב מסלולים בתגובה לקלט של משתמשים בזמן אמת (לדוגמה, בתוך רכיב של ממשק משתמש), אתם יכולים להשתמש ב-Directions API (הדור הקודם) או, אם אתם משתמשים ב-Maps JavaScript API, להשתמש בשירות המסלולים. לשימוש בצד השרת, אתם יכולים להשתמש בלקוח Java, לקוח Python, לקוח Go ולקוח Node.js לשירותי מפות Google.
עם Directions API (דור קודם), אתם יכולים:
- אפשר לחפש מסלולים בכמה אמצעי תחבורה, כולל תחבורה ציבורית, נהיגה, הליכה או רכיבה על אופניים.
- החזרת מסלול עם כמה חלקים באמצעות סדרה של נקודות ציון.
- מציינים את נקודות המוצא, היעדים ונקודות הדרך כמחרוזות טקסט (למשל, "Chicago, IL" או "Darwin, NT, Australia"), כמזהי מקומות או כקואורדינטות של קו רוחב/קו אורך.
ה-API מחזיר את המסלולים היעילים ביותר כשמחשבים מסלול. זמן ההגעה הוא הגורם העיקרי שעובר אופטימיזציה, אבל ה-API עשוי להביא בחשבון גם גורמים אחרים כמו מרחק, מספר הפניות ועוד הרבה גורמים אחרים כשהוא מחליט איזה מסלול הוא היעיל ביותר.
לפני שמתחילים
לפני שמתחילים להשתמש ב-Directions API (הדור הקודם), צריך פרויקט עם חשבון לחיוב ו-Directions API (הדור הקודם) מופעל. מידע נוסף זמין במאמר הגדרה במסוף Cloud.
יצירת בקשות ל-Directions API (דור קודם)
בקשה ל-Directions API (הגרסה הקודמת) נראית כך:
https://maps.googleapis.com/maps/api/directions/outputFormat?parameters
כאשר outputFormat יכול להיות אחד מהערכים הבאים:
-
json(מומלץ) מציין פלט ב-JavaScript Object Notation (JSON) -
xmlמציין פלט בפורמט XML
הערה: כתובות URL חייבות להיות מקודדות כראוי כדי להיות תקינות, והן מוגבלות ל-16,384 תווים בכל שירותי האינטרנט. חשוב לזכור את המגבלה הזו כשיוצרים את כתובות ה-URL.
כמו בכל כתובת URL, כל הפרמטרים מופרדים באמצעות התו אמפרסנד (&). כל התווים השמורים (למשל סימן הפלוס "+") חייבים להיות מקודדים בכתובת ה-URL.
רשימת הפרמטרים והערכים האפשריים שלהם מפורטת בהמשך.
פרמטרים נדרשים
-
destination
מזהה המקום, הכתובת או הערך הטקסטואלי של קו הרוחב/קו האורך שאליו רוצים לחשב את המסלול. האפשרויות של הפרמטר destination זהות לאלה של הפרמטר origin.
-
origin
מזהה המקום, הכתובת או הערך הטקסטואלי של קו הרוחב/קו האורך שמהם רוצים לחשב את המסלול.
-
מזהי מקומות חייבים לכלול את הקידומת
place_id:. אפשר לאחזר מזהי מקומות מ-Geocoding API ומ-Places API (כולל השלמה אוטומטית למקומות). דוגמה לשימוש במזהי מקומות מהשלמה אוטומטית למקומות מופיעה במאמר השלמה אוטומטית למקומות ומסלולים. מידע נוסף על מזהי מקומות זמין בסקירה הכללית על מזהי מקומות.origin=place_id:ChIJ3S-JXmauEmsRUcIaWtf4MzE -
אם מעבירים כתובת, שירות המסלולים ממיר את המחרוזת לקואורדינטות של קו רוחב/קו אורך כדי לחשב את המסלול. הקואורדינטה הזו עשויה להיות שונה מזו שמוחזרת על ידי Geocoding API, למשל כניסה לבניין ולא מרכז הבניין.
origin=24+Sussex+Drive+Ottawa+ONעדיף להשתמש במזהי מקומות ולא בכתובות או בקואורדינטות של קו רוחב/קו אורך. אם משתמשים בקואורדינטות, הנקודה תמיד תתחבר לכביש הקרוב ביותר לקואורדינטות האלה, אבל יכול להיות שזה לא יהיה כביש גישה לנכס, או אפילו כביש שיוביל ליעד במהירות או בבטחה.
-
אם תעבירו קואורדינטות, הנקודה תתחבר לכביש הקרוב ביותר. עדיף להעביר מזהה מקום. אם אתם מעבירים קואורדינטות, ודאו שאין רווח בין ערכי קו הרוחב וקו האורך.
origin=41.43206,-81.38992 -
הפורמט של Plus Codes צריך להיות קוד גלובלי או קוד מורכב. צריך להזין את ה-Plus Codes בפורמט שמוצג כאן (סימני פלוס מומרים לתווי בריחה (escape) של כתובת URL
%2Bורווחים מומרים לתווי בריחה (escape) של כתובת URL%20).-
קוד גלובלי הוא קוד אזור בן 4 תווים וקוד מקומי בן 6 תווים או יותר (849VCWC8+R9 הוא
849VCWC8%2BR9). -
קוד מורכב הוא קוד מקומי באורך 6 תווים או יותר עם מיקום מפורש (CWC8+R9 Mountain View, CA, USA הוא
CWC8%2BR9%20Mountain%20View%20CA%20USA).
-
קוד גלובלי הוא קוד אזור בן 4 תווים וקוד מקומי בן 6 תווים או יותר (849VCWC8+R9 הוא
הערה: כדי לשפר את היעילות והדיוק, מומלץ להשתמש במזהי מקומות כשאפשר. המזהים האלה מפורשים וייחודיים, כמו זוג ערכים של קו רוחב/קו אורך, והם מספקים יתרונות של המרת כתובות לקואורדינטות לצורך ניתוב, כמו נקודות גישה ומשתני תנועה. בשונה מכתובת, מזהים לא מחייבים את השירות לבצע חיפוש או בקשת ביניים לקבלת פרטי מקום, ולכן הביצועים טובים יותר. -
פרמטרים אופציונליים
-
חלופות
אם הערך הוא
true, השירות Directions עשוי לספק יותר ממסלול חלופי אחד בתגובה. חשוב לזכור שהצגת מסלולים חלופיים עלולה להאריך את זמן התגובה מהשרת. האפשרות הזו זמינה רק לבקשות בלי נקודות ביניים. מידע נוסף זמין במדריך לנקודות ציון. -
arrival_time
מציין את זמן ההגעה המועדף למסלול לתחבורה ציבורית, בשניות מאז חצות, 1 בינואר 1970 UTC. אפשר לציין את
departure_timeאו אתarrival_time, אבל לא את שניהם. שימו לב שהערך שלarrival_timeצריך להיות מספר שלם. -
הימנעות
מציין שהמסלולים המחושבים צריכים להימנע מהמאפיינים שצוינו. הפרמטר הזה תומך בארגומנטים הבאים:
-
tollsמציין שהמסלול המחושב צריך להימנע מכבישי אגרה או מגשרים. -
highwaysמציין שהמסלול המחושב צריך להימנע מכבישים מהירים. -
ferriesמציין שהמסלול המחושב צריך להימנע ממעבורות. -
indoorמציין שהמסלול המחושב צריך להימנע ממדרגות פנימיות במסלולי הליכה ומסלול לתחבורה ציבורית.
אפשר לבקש מסלול שעוקף כל שילוב של כבישי אגרה, כבישים מהירים ומעבורות, על ידי העברת כמה הגבלות לפרמטר avoid. לדוגמה:
avoid=tolls|highways|ferries. -
-
departure_time
מציין את שעת היציאה המועדפת. אפשר לציין את השעה כמספר שלם בשניות מאז חצות, 1 בינואר 1970 UTC. אם מציינים
departure_timeמאוחר יותר מ-9999-12-31T23:59:59.999999999Z, ה-API יחזיר אתdeparture_timeל-9999-12-31T23:59:59.999999999Z. אפשר גם לציין את הערך now, שמגדיר את זמן היציאה לשעה הנוכחית (עד לרמת דיוק של שנייה). אפשר לציין את שעת היציאה בשני מקרים:-
בבקשות שבהן אמצעי התחבורה הוא תחבורה ציבורית: אפשר לציין את
departure_timeאו אתarrival_time. אם לא מציינים אף אחת מהשעות, הערך שלdeparture_timeמוגדר כברירת מחדל לעכשיו (כלומר, שעת היציאה מוגדרת כברירת מחדל לשעה הנוכחית). -
בבקשות שבהן אמצעי התחבורה הוא נהיגה: אפשר לציין את
departure_timeכדי לקבל מסלול ומשך נסיעה (שדה התגובה: duration_in_traffic) שמביאים בחשבון את מצב התנועה. השדהdeparture_timeחייב להיות מוגדר לשעה הנוכחית או לשעה כלשהי בעתיד. התאריך לא יכול להיות בעבר.
הערה: אם לא צוינה שעת יציאה, בחירת המסלול ומשך הנסיעה מבוססים על רשת הכבישים ועל מצב התנועה הממוצע ללא תלות בזמן. התוצאות של בקשה מסוימת עשויות להשתנות עם הזמן בגלל שינויים ברשת הכבישים, עדכונים במצב התנועה הממוצע והאופי המבוזר של השירות. יכול להיות גם שהתוצאות ישתנו בין מסלולים כמעט זהים בכל זמן או תדירות.הערה: בקשות של מטריצת מרחקים שמציינות אתdeparture_timeכש-mode=drivingמוגבלות ל-100 רכיבים לכל היותר לכל בקשה. מספר נקודות המוצא כפול מספר היעדים מגדיר את מספר הרכיבים. -
בבקשות שבהן אמצעי התחבורה הוא תחבורה ציבורית: אפשר לציין את
-
language
השפה שבה התוצאות יוחזרו. חשוב לזכור שהשפה משפיעה רק על הכתובות שעברו המרה לקואורדינטות בשדות
start_addressו-end_address, על הטקסט המותאם לשוק המקומי בשדותdistanceו-duration(בקטעי המסלול ובשלבים) ועל תיאור התמרונים בשדהhtml_instructions, אבל לא על השמות והכתובות בשדהhtml_instructions, שמוצגים בשפה ובכתב המקומיים.- כאן אפשר לעיין ברשימת השפות הנתמכות. Google מעדכנת את השפות הנתמכות לעיתים קרובות, לכן יכול להיות שהרשימה הזו לא מלאה.
-
אם לא מציינים את הפרמטר
language, ה-API מנסה להשתמש בשפה המועדפת שצוינה בכותרתAccept-Language. - ה-API מנסה לספק כתובת רחוב שקריאה גם למשתמש וגם למקומיים. כדי להשיג את המטרה הזו, הוא מחזיר כתובות רחוב בשפה המקומית, עם תעתיק לכתב שהמשתמש יכול לקרוא במידת הצורך, תוך התחשבות בשפה המועדפת. כל שאר הכתובות מוחזרות בשפה המועדפת. כל רכיבי הכתובת מוחזרים באותה שפה, שנבחרת מהרכיב הראשון.
- אם השם לא זמין בשפה המועדפת, ה-API משתמש בהתאמה הקרובה ביותר.
- השפה המועדפת משפיעה קצת על קבוצת התוצאות שה-API בוחר להחזיר ועל הסדר שבו הן מוחזרות. הכלי להמרת כתובות לקואורדינטות מפרש קיצורים באופן שונה בהתאם לשפה, כמו קיצורים של סוגי רחובות או מילים נרדפות שעשויות להיות תקפות בשפה אחת אבל לא בשפה אחרת. לדוגמה, utca ו-tér הן מילים נרדפות ל"רחוב" בהונגרית.
-
מצב
כדי לחשב מרחקים ומסלולים, אתם יכולים לציין את אמצעי ההגעה שבו אתם רוצים להשתמש. כברירת מחדל, המערכת משתמשת במצב
driving. כברירת מחדל, המסלולים מחושבים כמסלולי נסיעה. אפשר להשתמש באמצעי התחבורה הבאים:-
driving(ברירת המחדל) מציין מסלול נסיעה רגיל או מרחק באמצעות רשת הכבישים. -
walkingמבקש מסלול הליכה או מרחק דרך שבילים להולכי רגל ומדרכות (אם יש כאלה). -
bicyclingמבקש מסלול רכיבה על אופניים או מרחק דרך שבילי אופניים ורחובות מועדפים (אם יש כאלה). -
transitמבקש מסלולים או מרחק באמצעות מסלולי תחבורה ציבורית (אם זמינים). אם מגדירים את המצב ל-transit, אפשר לציין גםdeparture_timeאוarrival_time. אם לא מציינים אף אחת מהשעות, הערך שלdeparture_timeמוגדר כברירת מחדל לשעה הנוכחית (כלומר, שעת היציאה מוגדרת כברירת מחדל לשעה הנוכחית). אפשר גם לכלולtransit_modeאוtransit_routing_preference. אפשר לחפש נסיעות בתחבורה ציבורית עד 7 ימים בעבר או עד 100 ימים בעתיד, בכפוף לזמינות של מידע על תחבורה ציבורית שמסופק על ידי ספקי נתונים. לוחות הזמנים של התחבורה הציבורית משתנים לעיתים קרובות, והנסיעות הזמינות בתחבורה הציבורית עשויות להשתנות עם הזמן. אין ערובה לכך שהתחזיות לטווח הרחוק יהיו עקביות.
הערה: לפעמים מסלולי הליכה ורכיבה על אופניים לא כוללים שבילים ברורים להולכי רגל או לרוכבי אופניים, ולכן המסלולים האלה יחזירו אזהרות בתוצאה שמוחזרת, שצריך להציג למשתמש. -
-
אזור
קוד האזור, שמוגדר כערך ccTLD (דומיין ברמה העליונה) באורך שני תווים. רוב קודי ה-ccTLD זהים לקודי ISO 3166-1, עם כמה חריגים בולטים. לדוגמה, סיומת ה-ccTLD של בריטניה היא "uk" (.co.uk), אבל קוד ה-ISO 3166-1 שלה הוא "gb" (מבחינה טכנית, עבור הישות "הממלכה המאוחדת של בריטניה הגדולה וצפון אירלנד").
-
traffic_model
מציין את ההנחות שצריך להשתמש בהן כשמחשבים את הזמן בתנועה. ההגדרה הזו משפיעה על הערך שמוחזר בשדה duration_in_traffic בתגובה, שמכיל את הזמן החזוי בתנועה על סמך ממוצעים היסטוריים. אפשר לציין את הפרמטר
traffic_modelרק במסלולי נסיעה שבהם הבקשה כוללתdeparture_time. הערכים האפשריים של הפרמטר הזה הם:-
best_guess(ברירת המחדל) מציין שהערך המוחזר של duration_in_traffic צריך להיות האומדן הטוב ביותר של זמן הנסיעה, בהתאם למידע הידוע על מצב התנועה ההיסטורי ועל מצב התנועה בזמן אמת. ככל ש-departure_timeקרוב יותר לזמן הנוכחי, כך חשיבותם של נתוני התנועה בזמן אמת גדלה. -
pessimisticמציין שהערך של duration_in_traffic שמוחזר אמור להיות ארוך יותר מזמן הנסיעה בפועל ברוב הימים, אבל יכול להיות שבימים מסוימים עם מצב תנועה גרוע במיוחד, זמן הנסיעה בפועל יהיה ארוך יותר מהערך הזה. -
optimisticמציין שהערך duration_in_traffic שמוחזר אמור להיות קצר יותר מזמן ההגעה בפועל ברוב הימים, אבל בימים מסוימים שבהם מצב התנועה טוב במיוחד, זמן ההגעה עשוי להיות מהיר יותר מהערך הזה.
ערך ברירת המחדל
best_guessיספק את התחזיות השימושיות ביותר לרוב תרחישי השימוש. יכול להיות שזמן ההגעה החזוי שלbest_guessיהיה קצר יותר מ-optimistic, או ארוך יותר מ-pessimistic, בגלל האופן שבו מודל החיזוי שלbest_guessמשלב מידע על מצב התנועה. -
-
transit_mode
מציין אמצעי תחבורה מועדף אחד או יותר. אפשר לציין את הפרמטר הזה רק במסלולים לתחבורה ציבורית. הפרמטר תומך בארגומנטים הבאים:
-
busמציין שהמסלול המחושב צריך להעדיף נסיעה באוטובוס. -
subwayמציין שהמסלול המחושב צריך להעדיף נסיעה ברכבת תחתית. -
trainמציין שהמסלול המחושב צריך להעדיף נסיעה ברכבת. -
tramמציין שהמסלול המחושב צריך להעדיף נסיעה בחשמלית וברכבת קלה. -
railמציין שהמסלול המחושב צריך להעדיף נסיעה ברכבת, בחשמלית, ברכבת קלה וברכבת תחתית. זה שווה ערך ל-transit_mode=train|tram|subway.
-
-
transit_routing_preference
מציין את ההעדפות למסלולי תחבורה ציבורית. באמצעות הפרמטר הזה, אתם יכולים להטות את האפשרויות שמוחזרות, במקום לקבל את המסלול הטוב ביותר שמוגדר כברירת מחדל ונבחר על ידי ה-API. אפשר לציין את הפרמטר הזה רק במסלולים לתחבורה ציבורית. הפרמטר תומך בארגומנטים הבאים:
-
less_walkingמציין שהמסלול המחושב צריך להעדיף הליכה מוגבלת. -
fewer_transfersמציין שהמסלול המחושב צריך להעדיף מספר מוגבל של החלפות.
-
-
יחידות
מציינת את מערכת היחידות שבה צריך להשתמש כשמציגים תוצאות.
תוצאות של מסלולים מכילות טקסט בשדות של מרחק, שאפשר להציג למשתמש כדי לציין את המרחק של "שלב" מסוים במסלול. כברירת מחדל, הטקסט הזה משתמש במערכת היחידות של המדינה או האזור של נקודת המוצא.
לדוגמה, במסלול מ "שיקגו, אילינוי" ל "טורונטו, אונטריו" התוצאות יוצגו במיילים, ובמסלול ההפוך התוצאות יוצגו בקילומטרים. אפשר לשנות את מערכת היחידות הזו על ידי הגדרה מפורשת של מערכת יחידות בפרמטר units של הבקשה, באמצעות אחד מהערכים הבאים:
-
הערך
metricמציין שימוש במערכת המטרית. המרחקים בטקסט מוחזרים בקילומטרים ובמטרים. -
imperialמציין שימוש בשיטה האימפריאלית (האנגלית). המרחקים בטקסט מוחזרים במיילים וברגליים.
הערה: ההגדרה הזו של מערכת היחידות משפיעה רק על הטקסט שמוצג בשדות המרחק. שדות המרחק מכילים גם ערכים שתמיד מבוטאים במטרים. -
הערך
-
נקודות ציון
זהירות: בקשות שכוללות יותר מ-10 נקודות ציון (בין 11 ל-25) או אופטימיזציה של נקודות ציון מחויבות בתעריף גבוה יותר. מידע נוסף על חיוב במוצרים של Google Maps Platform.מציין מערך של מיקומי ביניים שייכללו במסלול בין נקודת המוצא לנקודת היעד, כמיקומים למעבר או לעצירה. נקודות דרך משנות את המסלול על ידי הפנייתו דרך המיקומים שצוינו. ה-API תומך בנקודות ציון באמצעי ההגעה הבאים: נהיגה, הליכה ורכיבה על אופניים, אבל לא בתחבורה ציבורית. אפשר לציין מיקום אחד או יותר, מופרדים באמצעות התו "קו אנכי" (
|או%7C), בפורמט של מזהה מקום, כתובת או קואורדינטות של קו רוחב/קו אורך. כברירת מחדל, שירות המסלולים מחשב מסלול באמצעות נקודות הדרך לפי הסדר שבו הן ניתנות. סדר העדיפויות לניתוח הערך של נקודת הדרך הוא מזהה המקום, קואורדינטות קו הרוחב/קו האורך, ואז הכתובת.-
אם מעבירים מזהה מקום, צריך להוסיף לו את הקידומת
place_id:. אפשר לאחזר מזהי מקומות מ-Geocoding API ומ-Places API (כולל השלמה אוטומטית למקומות). דוגמה לשימוש במזהי מקומות מהשלמה אוטומטית למקומות מופיעה במאמר השלמה אוטומטית למקומות וקבלת מסלול. מידע נוסף על מזהי מקומות זמין בסקירה הכללית על מזהי מקומות.כדי לשמור על יעילות ודיוק, מומלץ להשתמש במזהי מקומות כשאפשר. המזהים האלה מפורשים באופן ייחודי, כמו זוג ערכים של קו רוחב/קו אורך, ומספקים יתרונות של המרת כתובות לקואורדינטות לצורך ניתוב, כמו נקודות גישה ומשתני תנועה. בשונה מכתובת, מזהים לא מחייבים את השירות לבצע חיפוש או בקשת ביניים לקבלת פרטי מקום, ולכן הביצועים טובים יותר. -
אם מעבירים קואורדינטות של קו רוחב/אורך, הערכים עוברים ישירות לשרת הקצה הקדמי כדי לחשב מסלולים בלי המרת כתובות לקואורדינטות (geocoding). הנקודות מוצמדות לכבישים, ויכול להיות שהן לא יספקו את הדיוק שהאפליקציה צריכה. כדאי להשתמש בקואורדינטות כשאתם בטוחים שהערכים באמת מציינים את הנקודות שהאפליקציה צריכה בשביל הניתוב, בלי קשר לנקודות גישה אפשריות או לפרטים נוספים של המרת כתובות לקואורדינטות. חשוב לוודא שפסיק (
%2C) ולא רווח (%20) מפריד בין ערכי קו הרוחב וקו האורך. - אם מעבירים כתובת, שירות המסלולים ימיר את המחרוזת לקואורדינטות של קו רוחב/קו אורך כדי לחשב את המסלול. אם ערך הכתובת לא חד-משמעי, יכול להיות שהערך יגרום לחיפוש כדי להבדיל בין כתובות דומות. לדוגמה, "רחוב הרצל" יכול להיות ערך מלא או ערך חלקי של "רחוב הרצל 1" או "רחוב הרצל 2". התוצאה הזו עשויה להיות שונה מהתוצאה שמוחזרת על ידי Geocoding API. כדי למנוע פרשנויות שגויות, אפשר להשתמש במזהי מקומות.
-
לחלופין, אפשר לספק קבוצת נקודות מקודדת באמצעות אלגוריתם של קו פוליגוני מקודד. קידוד של קבוצת נקודות ציון שימושי במיוחד כשיש הרבה נקודות ציון, כי כתובת ה-URL קצרה משמעותית. לכל שירותי האינטרנט יש מגבלת כתובת URL של 16,384 תווים.
-
לפני קווי פוליגון מקודדים צריך להוסיף את הקידומת
enc:ואחריה נקודתיים (:). לדוגמה:waypoints=enc:gfo}EtohhU:. -
אפשר גם לכלול כמה קווים פוליגוניים מקודדים, שמופרדים באמצעות התו
|. לדוגמה,waypoints=via:enc:wc~oAwquwMdlTxiKtqLyiK:|enc:c~vnAamswMvlTor@tjGi}L:| via:enc:udymA{~bxM:
-
לפני קווי פוליגון מקודדים צריך להוסיף את הקידומת
השפעה על מסלולים באמצעות נקודות עצירה ונקודות מעבר
לכל נקודת דרך בבקשה, התגובה של מסלול ההגעה מוסיפה רשומה למערך
legsכדי לספק את הפרטים של עצירות הביניים באותו קטע של המסלול.אם רוצים להשפיע על המסלול באמצעות נקודות ציון בלי להוסיף עצירת ביניים, מוסיפים את הקידומת
via:לנקודת הציון. נקודות ציון עם הקידומתvia:לא יוסיפו רשומה למערךlegs, אבל המסלול יעבור דרך נקודת הציון.כתובת ה-URL הבאה משנה את הבקשה הקודמת כך שהמסלול עובר דרך לקסינגטון בלי עצירה:
https://maps.googleapis.com/maps/api/directions/json? origin=Boston,MA&destination=Concord,MA &waypoints=Charlestown,MA|via:Lexington,MAהקידומת
via:היא הכי יעילה כשיוצרים מסלולים בתגובה לכך שהמשתמש גורר את נקודות הדרך במפה. כך המשתמש יכול לראות איך המסלול הסופי ייראה בזמן אמת, ולוודא שנקודות הדרך ממוקמות במקומות שנגישים ל-Directions API.זהירות: שימוש בקידומתvia:כדי להימנע מעצירות ביניים מוביל למסלולים שמפרשים את נקודת הדרך באופן מחמיר. הפרשנות הזו עלולה לגרום לעיקופים משמעותיים במסלול או להחזרת קוד הסטטוסZERO_RESULTSאם ה-Directions API לא יכול ליצור מסלול דרך הנקודה הזו.אופטימיזציה של נקודות הציון
כברירת מחדל, שירות המסלולים מחשב מסלול דרך נקודות הדרך שצוינו לפי הסדר שבו הן צוינו. אם רוצים, אפשר להעביר את הערך
optimize:trueכארגומנט הראשון בפרמטר waypoints, כדי לאפשר לשירות Directions לבצע אופטימיזציה של המסלול שסופק על ידי סידור מחדש של נקודות הדרך בסדר יעיל יותר. (האופטימיזציה הזו היא יישום של בעיית הסוכן הנוסע). זמן ההגעה הוא הגורם העיקרי שמשתמשים בו כדי לבצע אופטימיזציה, אבל יכול להיות שגורמים אחרים כמו מרחק, מספר הפניות ועוד יילקחו בחשבון כשמחליטים איזה מסלול הוא היעיל ביותר. כל נקודות הדרך חייבות להיות עצירות ביניים כדי ששירות המסלולים יוכל לבצע אופטימיזציה של המסלול.אם תנחו את שירות המסלולים לבצע אופטימיזציה של סדר נקודות הדרך, הסדר שלהן יוחזר בשדה
waypoint_orderבתוך אובייקט המסלולים. השדהwaypoint_orderמחזיר ערכים שמתחילים בספרה אפס.בדוגמה הבאה מחושב מסלול נסיעה מאדלייד שבדרום אוסטרליה לכל אחד מאזורי היין העיקריים של דרום אוסטרליה, באמצעות אופטימיזציה של המסלול.
https://maps.googleapis.com/maps/api/directions/json? origin=Adelaide,SA&destination=Adelaide,SA &waypoints=optimize:true|Barossa+Valley,SA|Clare,SA|Connawarra,SA|McLaren+Vale,SAבדיקה של המסלול המחושב תראה שהחישוב משתמש בנקודות ציון בסדר הבא:
"waypoint_order": [ 3, 2, 0, 1 ]זהירות: בקשות שכוללות אופטימיזציה של נקודות ציון מחויבות בתעריף גבוה יותר. מידע נוסף על החיוב במוצרים של Google Maps Platform -
אם מעבירים מזהה מקום, צריך להוסיף לו את הקידומת
המאמרים הבאים
דוגמאות להוראות הגעה
- אמצעי הגעה
- מידע על מצב התנועה
- נקודות ציון ואופטימיזציה של נקודות ציון
- הגבלות במסלול
- מערכות יחידות
- הטיה לפי אזור
- מגדירי מיקום
תגובות של מסלולים
- DirectionsResponse
- DirectionsRoute
- DirectionsLeg
- DirectionsStep ו-DirectionsPolyline
- DirectionsTransitDetails
- DirectionsStatus
- DirectionsGeocodedWaypoint