קבלת מסלול דרך Directions API (קודם)

מפתחים באזור הכלכלי האירופי (EEA)

המוצר הזה נמצא בסטטוס קודם. החל מאוקטובר 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).
    הערה: כדי לשפר את היעילות והדיוק, מומלץ להשתמש במזהי מקומות כשאפשר. המזהים האלה מפורשים וייחודיים, כמו זוג ערכים של קו רוחב/קו אורך, והם מספקים יתרונות של המרת כתובות לקואורדינטות לצורך ניתוב, כמו נקודות גישה ומשתני תנועה. בשונה מכתובת, מזהים לא מחייבים את השירות לבצע חיפוש או בקשת ביניים לקבלת פרטי מקום, ולכן הביצועים טובים יותר.

פרמטרים אופציונליים

  • חלופות

    אם הערך הוא 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

המאמרים הבאים

דוגמאות להוראות הגעה

תגובות של מסלולים