יש שתי דרכים להגדיר עצירה לאורך מסלול, למשל לאיסוף או למשלוח:
- הוספת נקודת ביניים: זו אפשרות ברירת המחדל. מוסיפים נקודת ביניים בין נקודת המוצא ליעד במערך
intermediates. מנוע הניתוב מצמיד את נקודת הדרך לכביש הקרוב ביותר שניתן לנווט בו, ומחלק את המסלול ל-RouteLegמקטעים שמחוברים על ידי העצירה הזו. - ציון vehicleStopover: אם רוצים שמנוע הניתוב יבצע ניתוח נוסף כדי להימנע ממקטעי כביש שלא מתאימים לעצירה, כמו כבישים מהירים, מנהרות או גשרים, מגדירים את
vehicleStopover: trueבציון דרך.
הוספת נקודת ציון ביניים
כדי להגדיר עצירה לאורך מסלול, מוסיפים נקודת ציון ביניים למערך intermediates בבקשה.
להוספת נקודת ביניים יש את ההשפעות הבאות:
- המסלול מחולק ל
RouteLegקטעים: כל קטע מחבר בין תחנה אחת לתחנה הבאה. - הקואורדינטה נצמדת לכביש: מנוע הניתוב מצמיד את קואורדינטות קו הרוחב וקו האורך שלכם, שיכול להיות שהן נמצאות על גג או בחצר, למקטע הכביש הקרוב ביותר שאפשר לנווט בו.
במקרה של הרבה כבישים מקומיים, הצמדה לכביש הקרוב ביותר מספקת מיקום עצירה פרקטי. עם זאת, ההצמדה לא קובעת אם קטע הכביש הזה מתאים לעצירה בצד, למשל כשהכביש הקרוב ביותר הוא כביש מהיר או מנהרה.
דוגמה: הוספת נקודת ציון ביניים
בדוגמה הבאה מוסבר איך להגדיר עצירה לאורך מסלול על ידי הוספת נקודת דרך בבקשת POST מסוג computeRoutes:
curl -X POST -d '{ "origin":{ "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0827784 } } }, "destination":{ "location":{ "latLng":{ "latitude": 37.417670, "longitude": -122.079595 } } }, "intermediates": [ { "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0807784 } } } ], "travelMode": "DRIVE" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \ -H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs' \ 'https://routes.googleapis.com/directions/v2:computeRoutes'
מידע נוסף על נקודות ציון ביניים וקטעי מסלול זמין במאמר בנושא הגדרת נקודות ציון ביניים.
ציון של vehicleStopover לצורך התאמה לאיסוף ולמסירה
נקודת עצירת ביניים רגילה נצמדת לכביש הקרוב, אבל הכביש הזה לא תמיד מתאים לעצירת רכב. אם רוצים שמנוע הניתוב יבצע ניתוח נוסף כדי להעריך את ההתאמה של הכביש לאיסוף או להורדה, צריך להגדיר את vehicleStopover: true בנקודת הדרך.
כשמגדירים את vehicleStopover: true, מנוע הניתוב בודק קטעי כביש אפשריים ומנסה להימנע מכבישים שלא מתאימים לעצירה, כמו כבישים מהירים, מנהרות וגשרים.
לדוגמה, נניח שיש מיקום שבו כביש עילי עובר ישירות מעל כביש מהיר בתוך מנהרה: * נקודת דרך רגילה: נצמדת לכביש המהיר או למנהרה שמתחת אם הם קרובים יותר מבחינה גיאומטרית לקואורדינטה. * Vehicle stopover: מתבצע ניתוח נוסף כדי לעקוף את הכביש המהיר והמנהרה, והעצירה מוצמדת לכביש עילי שמתאים לעצירה בצד הדרך.
דוגמה: ציון של vehicleStopover בציון דרך
בדוגמה הבאה מוצג אופן ההגדרה של vehicleStopover: true בנקודת ביניים בבקשת POST מלאה:
curl -X POST -d '{ "origin":{ "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0827784 } } }, "destination":{ "location":{ "latLng":{ "latitude": 37.417670, "longitude": -122.079595 } } }, "intermediates": [ { "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0807784 } }, "vehicleStopover": true } ], "travelMode": "DRIVE" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \ -H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs' \ 'https://routes.googleapis.com/directions/v2:computeRoutes'
מידע נוסף על סוגי נקודות ציון ואפשרויות זמין במאמר סוגי נקודות ציון ואפשרויות.