המוצר הזה נמצא בסטטוס קודם. החל מאוקטובר 2026, לא תהיה יותר אפשרות להפעיל את Directions API (הגרסה הקודמת) בפרויקטים חדשים ב-Google Cloud. פרויקטים קיימים ימשיכו לקבל תמיכה מלאה. כדי ליהנות מתכונות חדשות ומביצועים משופרים, עברו ל-Routes API.
דוגמאות לבקשות
הבקשה הבאה מחזירה מסלול נסיעה מטורונטו, אונטריו למונטריאול, קוויבק.
כתובת URL
https://maps.googleapis.com/maps/api/directions/json?destination=Montreal &origin=Toronto &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Toronto&destination=Montreal&key=YOUR_API_KEY'
אם משנים את הפרמטרים mode ו-avoid, אפשר לשנות את הבקשה הראשונית כך שתחזיר מסלול לרכיבה על אופניים בנוף יפה, בלי כבישים מהירים.
כתובת URL
https://maps.googleapis.com/maps/api/directions/json ?avoid=highways &destination=Montreal &mode=bicycling &origin=Toronto &key=YOUR_API_KEYYOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Toronto&destination=Montreal&avoid=highways&mode=bicycling&key=YOUR_API_KEY'YOUR_API_KEY'
הבקשה הבאה מחפשת מסלול לתחבורה ציבורית מברוקלין, ניו יורק, לקווינס, ניו יורק. בבקשה לא צוין departure_time, ולכן זמן היציאה מוגדר כברירת מחדל לשעה הנוכחית:
כתובת URL
https://maps.googleapis.com/maps/api/directions/json ?destination=Queens &mode=transit &origin=Brooklyn &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Brooklyn&destination=Queens&mode=transit&keyYOUR_API_KEY'
הבקשה הבאה לתחבורה ציבורית כוללת שעת יציאה ספציפית.
הערה: בדוגמה הזו, שעת היציאה שצוינה היא 30 ביולי 2012 בשעה 09:45. כדי למנוע שגיאה, צריך לשנות את הפרמטר לשעה בעתיד לפני ששולחים את הבקשה.
כתובת URL
https://maps.googleapis.com/maps/api/directions/json ?departure_time=1343641500 &destination=Queens &mode=transit &origin=Brooklyn &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Brooklyn&destination=Queens&mode=transit&departure_time=1343641500&key=YOUR_API_KEY'
בבקשה הבאה נעשה שימוש בקודי Plus Code כדי להחזיר מסלול נסיעה מ-H8MW+WP ל-GCG2+3M בקולקטה, הודו.
כתובת URL
https://maps.googleapis.com/maps/api/directions/json ?destination=GCG2%2B3M%20Kolkata%20India &origin=H8MW%2BWP%20Kolkata%20India &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=H8MW%2BWP%20Kolkata%20India&destination=GCG2%2B3M%20Kolkata%20India&key=YOUR_API_KEY'
הבקשה הבאה מחזירה מסלול נסיעה מגלאזגו, בריטניה לפרת', בריטניה באמצעות מזהי מקומות.
כתובת URL
https://maps.googleapis.com/maps/api/directions/json ?destination=place_id%3AChIJA01I-8YVhkgRGJb0fW4UX7Y &origin=place_id%3AChIJ685WIFYViEgRHlHvBbiD5nE &keyYOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=place_id%3AChIJ685WIFYViEgRHlHvBbiD5nE&destination=place_id%3AChIJA01I-8YVhkgRGJb0fW4UX7Y&key=YOUR_API_KEY'
אמצעי הגעה
כשמחשבים מסלול, אפשר לציין את mode שבו רוצים להשתמש. כברירת מחדל,
המסלולים מחושבים כמסלולי driving. אפשר להשתמש באמצעי התחבורה הבאים:
-
driving(ברירת המחדל) מציין מסלול נסיעה רגיל באמצעות רשת הכבישים. -
walkingמבקש מסלול הליכה דרך שבילים להולכי רגל ומדרכות (אם יש כאלה). -
bicyclingמבקש מסלול רכיבה על אופניים דרך שבילי אופניים ורחובות מועדפים (אם יש כאלה). -
transitמבקש מסלולים בתחבורה ציבורית (אם יש). אם מגדירים את המצב ל-transit, אפשר לציין גםdeparture_timeאוarrival_time. אם לא מציינים אף אחת מהשעות, הערך שלdeparture_timeמוגדר כברירת מחדל לשעה הנוכחית (כלומר, שעת היציאה מוגדרת כברירת מחדל לשעה הנוכחית). אפשר גם להוסיףtransit_modeאוtransit_routing_preference.
הערה: לפעמים מסלולי הליכה ורכיבה על אופניים לא כוללים שבילים ברורים להולכי רגל או לרוכבי אופניים, ולכן המסלולים האלה יחזירו את הערך warnings בתוצאה שמוחזרת, שצריך להציג למשתמש.
מידע על מצב התנועה
המערכת משתמשת במידע על התנועה כשכל התנאים הבאים מתקיימים (אלה התנאים שנדרשים כדי לקבל את השדה
duration_in_traffic בתגובה של Directions):
- הפרמטר
travel
modeהואdriving, או שהוא לא צוין (drivingהוא אמצעי התחבורה שמוגדר כברירת מחדל). - הבקשה כוללת
פרמטר
departure_timeתקין. אפשר להגדיר אתdeparture_timeלשעה הנוכחית או לשעה כלשהי בעתיד. התאריך לא יכול להיות בעבר. - הבקשה לא כוללת נקודות עצירה. אם הבקשה כוללת נקודות דרך, מוסיפים את הקידומת
via:לכל נקודת דרך כדי להשפיע על המסלול אבל להימנע מעצירות ביניים. לדוגמה,&waypoints=via:San Francisco|via:Mountain View|...
אם רוצים, אפשר לכלול בבקשה את הפרמטר
traffic_model כדי לציין את ההנחות שבהן צריך להשתמש כשמחשבים את הזמן בעומס התנועה.
כתובת ה-URL הבאה יוצרת בקשה לקבלת מסלול נסיעה מבוסטון, מסצ'וסטס, לקונקורד, מסצ'וסטס, דרך צ'רלסטאון ולקסינגטון. הבקשה כוללת שעת יציאה, ועומדת בכל הדרישות להחזרת השדה duration_in_traffic בתגובה של Directions.
כתובת URL
https://maps.googleapis.com/maps/api/directions/json ?departure_time=now &destination=Concord%2C%20MA &origin=Boston%2C%20MA &waypoints=via%3ACharlestown%2CMA%7Cvia%3ALexington%2CMA &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Boston%2C%20MA&destination=Concord%2C%20MA&waypoints=via%3ACharlestown%2CMA%7Cvia%3ALexington%2CMA&departure_time=now&key=YOUR_API_KEY'
נקודות ציון
כשמחשבים מסלולים באמצעות Directions API (דור קודם), אפשר לציין נקודות ציון כדי להחזיר מסלול שכולל מעבר או עצירות במיקומים באמצע הדרך. אפשר להוסיף נקודות ציון למסלולי נסיעה, הליכה או מסלול אופניים, אבל לא למסלולים לתחבורה ציבורית.
מציינים מיקומים בפרמטר waypoints.
אפשר לציין מיקום אחד או יותר, מופרדים בתו קו אנכי (| או %7C), בצורה של מזהה מקום, כתובת או קואורדינטות של קו רוחב/קו אורך. כברירת מחדל, שירות המסלולים מחשב מסלול באמצעות נקודות הדרך בסדר שבו הן ניתנות. סדר העדיפויות לניתוח הערך של נקודת הדרך הוא מזהה המקום, קואורדינטות קו הרוחב/קו האורך, ואז הכתובת.
- אם מעבירים מזהה מקום, צריך להוסיף לו את הקידומת
place_id:. אפשר לאחזר מזהי מקומות מ-Geocoding API ומ-Places API (כולל השלמה אוטומטית למקומות). דוגמה לשימוש במזהי מקומות מהשלמה אוטומטית למקומות מופיעה במאמר השלמה אוטומטית למקומות ומסלולים. מידע נוסף על מזהי מקומות זמין בסקירה הכללית על מזהי מקומות.כדי לשמור על יעילות ודיוק, מומלץ להשתמש במזהי מקומות כשאפשר. המזהים האלה מפורשים באופן ייחודי, כמו זוג ערכים של קו רוחב/קו אורך, והם מספקים יתרונות של המרת כתובות לקואורדינטות לצורך ניתוב, כמו נקודות גישה ומשתני תנועה. בשונה מכתובת, מזהים לא מחייבים את השירות לבצע חיפוש או בקשת ביניים לקבלת פרטי מקום, ולכן הביצועים טובים יותר.
- אם מעבירים קואורדינטות של קו רוחב/אורך, הערכים עוברים ישירות לשרת הקצה הקדמי כדי לחשב מסלולים בלי המרת כתובות לקואורדינטות (geocoding). הנקודות מוצמדות לכבישים, ויכול להיות שהן לא מספקות את רמת הדיוק שהאפליקציה שלכם צריכה. השתמשו בקואורדינטות כשאתם בטוחים שהערכים באמת מציינים את הנקודות שהאפליקציה צריכה לניתוב, בלי קשר לנקודות גישה אפשריות או לפרטים נוספים של המרת כתובות לקואורדינטות (geocoding). חשוב לוודא שפסיק (
%2C) ולא רווח (%20) מפריד בין ערכי קו הרוחב וקו האורך. - אם תעבירו כתובת, שירות המסלולים ימיר את המחרוזת לקואורדינטות של קו רוחב/קו אורך כדי לחשב את המסלול. אם ערך הכתובת לא חד-משמעי, יכול להיות שהערך יגרום לחיפוש כדי להבדיל בין כתובות דומות. לדוגמה, "רחוב הרצל" יכול להיות ערך מלא או ערך חלקי של "רחוב הרצל 1" או "רחוב הרצל 2". התוצאה הזו עשויה להיות שונה מהתוצאה שמוחזרת על ידי Geocoding API. כדי למנוע פרשנויות שגויות, אפשר להשתמש במזהי מקומות. פתרון בעיות בתוצאות של בקשת המסלול
לחלופין, אפשר לספק קבוצה מקודדת של נקודות באמצעות האלגוריתם של קו פוליגון מקודד. קידוד של קבוצת נקודות ציון שימושי במיוחד כשיש הרבה נקודות ציון, כי כתובת ה-URL קצרה משמעותית. בכל שירותי האינטרנט יש מגבלה של 16,384 תווים לכתובת URL.
- לפני קווי פוליגון מקודדים צריך להוסיף את הקידומת
enc:ואחריה נקודתיים (:). לדוגמה:waypoints=enc:gfo}EtohhU:. - אפשר גם לכלול כמה קווים פוליגוניים מקודדים, שמופרדים באמצעות התו "קו אנכי" (
|). לדוגמה,waypoints=via:enc:wc~oAwquwMdlTxiKtqLyiK:|enc:c~vnAamswMvlTor@tjGi}L:| via:enc:udymA{~bxM:
כתובת ה-URL הבאה יוצרת בקשה לקבלת מסלול נסיעה בין בוסטון, מסצ'וסטס לקונקורד, מסצ'וסטס, עם עצירות ביניים בצ'רלסטאון ובלקסינגטון, בסדר הזה. בדוגמה הזו נעשה שימוש בכתובות:
כתובת URL
https://maps.googleapis.com/maps/api/directions/json ?destination=Concord%2C%20MA &origin=Boston%2C%20MA &waypoints=via%3ACharlestown%2CMA%7Cvia%3ALexington%2CMA &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Boston%2C%20MA&destination=Concord%2C%20MA&waypoints=via%3ACharlestown%2CMA%7Cvia%3ALexington%2CMA&key=YOUR_API_KEY'
השפעה על מסלולים באמצעות נקודות עצירה ונקודות מעבר
לכל נקודת דרך בבקשה, התגובה של מסלול ההליכה מוסיפה רשומה למערך legs כדי לספק את הפרטים של עצירות הביניים באותו קטע של המסלול.
אם רוצים להשפיע על המסלול באמצעות נקודות ציון בלי להוסיף עצירת ביניים, מוסיפים את הקידומת via: לנקודת הציון. נקודות עצירה עם הקידומת via: לא יוסיפו רשומה למערך legs, אבל המסלול יעבור דרך נקודת העצירה.
כתובת ה-URL הבאה משנה את הבקשה הקודמת כך שהמסלול עובר דרך לקסינגטון בלי לעצור:
כתובת URL
https://maps.googleapis.com/maps/api/directions/json ?destination=Concord%2C%20MA &origin=Boston%2C%20MA &waypoints=Charlestown%2CMA%7Cvia%3ALexington%2CMA &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Boston%2C%20MA&destination=Concord%2C%20MA&waypoints=Charlestown%2CMA%7Cvia%3ALexington%2CMA&key=YOUR_API_KEY'
הקידומת via: הכי יעילה כשיוצרים מסלולים בתגובה לכך שהמשתמש גורר את נקודות הדרך במפה. כך המשתמש יכול לראות איך המסלול הסופי ייראה בזמן אמת, ולוודא שנקודות הדרך ממוקמות במקומות שאפשר לגשת אליהם באמצעות Directions API (דור קודם).
כתובת ה-URL הבאה מבקשת נקודות ציון באמצעות קואורדינטות של קו רוחב/קו אורך:
כתובת URL
https://maps.googleapis.com/maps/api/directions/json ?destination=Perth%2C%20AU &origin=Sydney%2C%20AU &waypoints=via%3A-37.81223%2C144.96254%7Cvia%3A-34.92788%2C138.60008 &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Sydney%2C%20AU&destination=Perth%2C%20AU&waypoints=via%3A-37.81223%2C144.96254%7Cvia%3A-34.92788%2C138.60008&key=YOUR_API_KEY'
זאת אותה הבקשה, עם קו פוליגוני מקודד:
כתובת URL
https://maps.googleapis.com/maps/api/directions/json ?destination=Perth%2C%20AU &origin=Sydney%2C%20AU &waypoints=via%3Aenc%3AlexeF%7B~wsZejrPjtye%40%3A &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Sydney%2C%20AU&destination=Perth%2C%20AU&waypoints=via%3Aenc%3AlexeF%7B~wsZejrPjtye%40%3A&key=YOUR_API_KEY'
שימו לב שאפשר לשלב באופן חופשי מפרט via: עם מגדירי מיקום.
לדוגמה:
כתובת URL
https://maps.googleapis.com/maps/api/directions/json ?destination=Perth%2C%20AU &origin=Sydney%2C%20AU &waypoints=side_of_road%3Avia%3Aenc%3AlexeF%7B~wsZejrPjtye%40%3A &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Sydney%2C%20AU&destination=Perth%2C%20AU&waypoints=side_of_road%3Avia%3Aenc%3AlexeF%7B~wsZejrPjtye%40%3A&key=YOUR_API_KEY'
אופטימיזציה של נקודות הציון
כברירת מחדל, שירות המסלולים מחשב מסלול דרך נקודות הציון שצוינו לפי הסדר שבו הן צוינו. אפשר גם להעביר את הערך optimize:true כארגומנט הראשון בפרמטר waypoints כדי לאפשר לשירות Directions לבצע אופטימיזציה של המסלול שסופק על ידי סידור מחדש של נקודות הדרך בסדר יעיל יותר. (האופטימיזציה הזו היא יישום של
בעיית הסוכן הנוסע). זמן ההגעה הוא הגורם העיקרי שמשמש לאופטימיזציה, אבל יכול להיות שגורמים אחרים כמו מרחק, מספר הפניות ועוד הרבה גורמים אחרים יילקחו בחשבון כשמחליטים איזה מסלול הוא היעיל ביותר. כדי ששירות המסלולים יוכל לבצע אופטימיזציה של המסלול, כל נקודות הדרך צריכות להיות נקודות עצירה.
אם תנחו את שירות המסלולים לבצע אופטימיזציה של סדר נקודות הדרך, הסדר שלהן יוחזר בשדה waypoint_order בתוך האובייקט routes.
השדה waypoint_order מחזיר ערכים שמתחילים באפס.
בדוגמה הבאה מחושב מסלול נסיעה מאדלייד שבדרום אוסטרליה לכל אחד מאזורי היין העיקריים של דרום אוסטרליה, באמצעות אופטימיזציה של המסלול.
כתובת URL
https://maps.googleapis.com/maps/api/directions/json ?destination=Adelaide%2C%20SA &origin=Adelaide%2C%20SA &waypoints=optimize%3Atrue%7CBarossa%20Valley%2C%20SA%7CClare%2C%20SA%7CConnawarra%2C%20SA%7CMcLaren%20Vale%2C%20SA &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Adelaide%2C%20SA&destination=Adelaide%2C%20SA&waypoints=optimize%3Atrue%7CBarossa%20Valley%2C%20SA%7CClare%2C%20SA%7CConnawarra%2C%20SA%7CMcLaren%20Vale%2C%20SA&key=YOUR_API_KEY'
בדיקה של המסלול המחושב תראה שהחישוב משתמש בנקודות הדרך בסדר הבא:
"waypoint_order": [ 3, 2, 0, 1 ]
הגבלות
יכול להיות שהמסלול יחושב בהתאם להגבלות מסוימות. ההגבלות מצוינות באמצעות הפרמטר avoid, וארגומנט לפרמטר הזה שמציין את ההגבלה שיש להימנע ממנה. אלה ההגבלות שנתמכות:
avoid=tollsavoid=highwaysavoid=ferries
אפשר לבקש מסלול שעוקף כל שילוב של כבישי אגרה, כבישים מהירים ומעבורות, על ידי העברת שתי ההגבלות לפרמטר avoid. לדוגמה:
avoid=tolls|highways|ferries.
הערה: הוספת הגבלות לא מונעת מסלולים שכוללים את המאפיין המוגבל, אלא משפיעה על התוצאה כך שיוצגו מסלולים מועדפים יותר.
מערכות יחידות
תוצאות המסלול מכילות את השדות text בתוך distance, שעשויים להופיע למשתמש כדי לציין את המרחק של "שלב" מסוים במסלול. כברירת מחדל, הטקסט הזה משתמש במערכת היחידות של המדינה או האזור של נקודת המוצא.
לדוגמה, במסלול מ"שיקגו, אילינוי" ל "טורונטו, אונטריו" התוצאות יוצגו במיילים, ובמסלול ההפוך התוצאות יוצגו בקילומטרים. אפשר לשנות את מערכת היחידות הזו על ידי הגדרה מפורשת של מערכת אחרת בפרמטר units של הבקשה, באמצעות העברה של אחד מהערכים הבאים:
- הערך
metricמציין שימוש במערכת המטרית. המרחקים בטקסט מוחזרים בקילומטרים ובמטרים. imperialמציין שימוש בשיטה האימפריאלית (אנגלית). המרחקים בטקסט מוחזרים במיילים וברגליים.
הערה: ההגדרה הזו של מערכת היחידות משפיעה רק על הערכים של text שמוצגים בשדות של distance. השדות של distance מכילים גם את values, שתמיד מבוטאים במטרים.
הטיה לפי אזור
אתם יכולים להגדיר את שירות המסלולים כך שיחזיר תוצאות מאזור ספציפי באמצעות הפרמטר region. הפרמטר הזה מקבל ארגומנט ccTLD (דומיין ברמה העליונה עם קוד מדינה) באורך שני תווים, שמציין את ההטיה לפי אזור. רוב קודי ה-ccTLD זהים לקודי ISO 3166-1 alpha-2, עם כמה חריגים בולטים.
לדוגמה, ה-ccTLD של בריטניה הוא uk (.co.uk), אבל קוד ה-ISO 3166-1 שלה הוא gb (מבחינה טכנית, עבור הישות "הממלכה המאוחדת של בריטניה הגדולה וצפון אירלנד"). ראו פרטי כיסוי של Google Maps Platform לאזורים נתמכים.
אתם יכולים להשתמש בכל דומיין שבו אפליקציית מפות Google הראשית השיקה מסלולי נסיעה.
לדוגמה, בקשה לקבלת מסלול מ-"Toledo" ל-"Madrid" מחזירה תוצאות מתאימות כשמגדירים את region ל-es, ואז "Toledo" מפורשת כעיר בספרד:
כתובת URL
https://maps.googleapis.com/maps/api/directions/json ?destination=Madrid &origin=Toledo ®ion=es &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Toledo&destination=Madrid®ion=es&key=YOUR_API_KEY'
JSON
{ "geocoded_waypoints": [ { "geocoder_status": "OK", "place_id": "ChIJ8f21C60Lag0R_q11auhbf8Y", "types": ["locality", "political"], }, { "geocoder_status": "OK", "place_id": "ChIJgTwKgJcpQg0RaSKMYcHeNsQ", "types": ["locality", "political"], }, ], "routes": [ { "bounds": { "northeast": { "lat": 40.4165207, "lng": -3.7026134 }, "southwest": { "lat": 39.862808, "lng": -4.029406799999999 }, }, "copyrights": "Map data ©2022 Inst. Geogr. Nacional", "legs": [ { "distance": { "text": "74.3 km", "value": 74327 }, "duration": { "text": "57 mins", "value": 3446 }, "end_address": "Madrid, Spain", "end_location": { "lat": 40.4165207, "lng": -3.705076 }, "start_address": "Toledo, Spain", "start_location": { "lat": 39.862808, "lng": -4.0273727 }, "steps": [ { "distance": { "text": "0.6 km", "value": 615 }, "duration": { "text": "2 mins", "value": 106 }, "end_location": { "lat": 39.8681019, "lng": -4.029378299999999 }, "html_instructions": "Head <b>northwest</b> on <b>Av. de la Reconquista</b> toward <b>C. de la Diputación</b>", "polyline": { "points": "quhrF`rqWCBQJUJm@PQFg@Ni@JeBh@}@XaD|@{@Vk@Ns@RUFoA^u@R_AXwA`@WHMBG@C?E?GAC?IC", }, "start_location": { "lat": 39.862808, "lng": -4.0273727 }, "travel_mode": "DRIVING", }, // Additional steps omitted for brevity ], "traffic_speed_entry": [], "via_waypoint": [], }, ], "overview_polyline": { "points": "quhrF`rqWcHzBaNzDeG~A][?k@lA{Dr@mBR]HmA[WQDWE[g@mAeE... (truncated for brevity)", }, "summary": "A-42", "warnings": [], "waypoint_order": [], }, ], "status": "OK", }
XML
<DirectionsResponse> <status>OK</status> <route> <summary>A-42</summary> <leg> <step> <travel_mode>DRIVING</travel_mode> <start_location> <lat>39.8628080</lat> <lng>-4.0273727</lng> </start_location> <end_location> <lat>39.8681019</lat> <lng>-4.0293783</lng> </end_location> <polyline> <points>quhrF`rqWCBQJUJm@PQFg@Ni@JeBh@}@XaD|@{@Vk@Ns@RUFoA^u@R_AXwA`@WHMBG@C?E?GAC?IC</points> </polyline> <duration> <value>106</value> <text>2 mins</text> </duration> <html_instructions>Head <b>northwest</b> on <b>Av. de la Reconquista</b> toward <b>C. de la Diputación</b></html_instructions> <distance> <value>615</value> <text>0.6 km</text> </distance> </step> <!-- Additional steps omitted for brevity --> <duration> <value>3446</value> <text>57 mins</text> </duration> <distance> <value>74327</value> <text>74.3 km</text> </distance> <start_location> <lat>39.8628080</lat> <lng>-4.0273727</lng> </start_location> <end_location> <lat>40.4165207</lat> <lng>-3.7050760</lng> </end_location> <start_address>Toledo, Spain</start_address> <end_address>Madrid, Spain</end_address> </leg> <copyrights>Map data ©2022 Inst. Geogr. Nacional</copyrights> <overview_polyline> <points>quhrF`rqWcHzBaNzDeG~A][?k@lA{Dr@mBR]HmA[WQDWE[g@mAeE... (truncated for brevity)</points> </overview_polyline> <bounds> <southwest> <lat>39.8628080</lat> <lng>-4.0294068</lng> </southwest> <northeast> <lat>40.4165207</lat> <lng>-3.7026134</lng> </northeast> </bounds> </route> <geocoded_waypoint> <geocoder_status>OK</geocoder_status> <type>locality</type> <type>political</type> <place_id>ChIJ8f21C60Lag0R_q11auhbf8Y</place_id> </geocoded_waypoint> <geocoded_waypoint> <geocoder_status>OK</geocoder_status> <type>locality</type> <type>political</type> <place_id>ChIJgTwKgJcpQg0RaSKMYcHeNsQ</place_id> </geocoded_waypoint> </DirectionsResponse>
בקשה לקבלת מסלול מ "טולדו" ל "מדריד" שנשלחת בלי הפרמטר region לא מחזירה תוצאות, כי "טולדו" מתפרשת כעיר באוהיו ולא בספרד:
כתובת URL
https://maps.googleapis.com/maps/api/directions/json ?destination=Madrid &origin=Toledo &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Toledo&destination=Madrid&key=YOUR_API_KEY'
JSON
{ "geocoded_waypoints": [ { "geocoder_status": "OK", "place_id": "ChIJeU4e_C2HO4gRRcM6RZ_IPHw", "types": ["locality", "political"], }, { "geocoder_status": "OK", "place_id": "ChIJgTwKgJcpQg0RaSKMYcHeNsQ", "types": ["locality", "political"], }, ], "routes": [], "status": "ZERO_RESULTS", }
XML
<DirectionsResponse> <status>ZERO_RESULTS</status> <geocoded_waypoint> <geocoder_status>OK</geocoder_status> <type>locality</type> <type>political</type> <place_id>ChIJeU4e_C2HO4gRRcM6RZ_IPHw</place_id> </geocoded_waypoint> <geocoded_waypoint> <geocoder_status>OK</geocoder_status> <type>locality</type> <type>political</type> <place_id>ChIJgTwKgJcpQg0RaSKMYcHeNsQ</place_id> </geocoded_waypoint> </DirectionsResponse>
מגדירי מיקום
אתם יכולים להשתמש בשינויי מיקום כדי לציין איך הנהגים צריכים לגשת למיקום מסוים, באמצעות הפרמטר side_of_road כדי לציין באיזה צד של הכביש להשתמש, או על ידי ציון כותרת כדי לציין את כיוון הנסיעה הנכון. אפשר לשלב את המאפיינים האלה עם המאפיין via: לנקודות ציון ביניים.
לציין שהמסלולים חייבים לעבור בצד מסוים של הכביש
כשמציינים נקודת דרך, אפשר לבקש שהמסלול יעבור בצד של הכביש שנקודת הדרך נוטה אליו, באמצעות הקידומת side_of_road:. לדוגמה, בקשת המסלול הזו תחזיר מסלול ארוך כדי שהרכב יסיים בצד הכביש שאליו הוטתה נקודת הדרך:
כתובת URL
https://maps.googleapis.com/maps/api/directions/json ?destination=side_of_road%3A37.7663444%2C-122.4412006 &origin=37.7680296%2C-122.4375126 &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=37.7680296%2C-122.4375126&destination=side_of_road%3A37.7663444%2C-122.4412006&key=YOUR_API_KEY'
כשמשתמשים ב-side_of_road: עם קווים פוליגוניים מקודדים, הפרמטר מוחל על כל מיקום לאורך הקו הפוליגוני.
אפשר להשתמש בצירוף side_of_road: רק עם ההגבלות הבאות:
- הפרמטר
travel
modeהואdriving, או שהוא לא צוין (drivingהוא אמצעי התחבורה שמוגדר כברירת מחדל).
הגדרת כיוון מסוים למסלולים
כשמציינים נקודת ציון, אפשר לבקש שהמסלול יעבור דרך נקודת הציון בכיוון מסוים. הכיוון הזה מצוין באמצעות הקידומת heading=X:, כאשר X הוא ערך שלם של מעלות בין 0 (כולל) ל-360 (לא כולל). כיוון 0 מציין צפון, 90 מציין מזרח, וכן הלאה עם כיוון השעון. לדוגמה, בבקשה הזו לקבלת מסלול, המסלול פונה מזרחה מנקודת המוצא ואז מבצע פניית פרסה:
כתובת URL
https://maps.googleapis.com/maps/api/directions/json ?destination=37.773245%2C-122.469502 &origin=heading%3D90%3A37.773279%2C-122.468780 &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=heading%3D90%3A37.773279%2C-122.468780&destination=37.773245%2C-122.469502&key=YOUR_API_KEY'
אפשר להשתמש במאפיין heading=X: רק עם ההגבלות הבאות:
- הפרמטר
travel
modeהואdriving,bicyclingאו לא צוין (drivingהוא מצב הנסיעה שמוגדר כברירת מחדל). - המשתנה
side_of_roadלא צוין לאותו מיקום. - המיקום מצוין באמצעות ערך של קו רוחב/קו אורך. אי אפשר להשתמש ב-
headingעם כתובות, מזהי מקומות או קווים פוליגוניים מקודדים.