ניהול ציוני דרך

כברירת מחדל, ה-Navigation SDK ל-Android מוצא את המסלול המהיר ביותר לנקודת הדרך, אבל זה לא מבטיח שהרכב יגיע לצד הכביש שבו הלקוח ממתין, או שמקום ההגעה בטוח לעצירה של הנהג. במדריך הזה נתאר שתי תכונות שבהן אפשר להשתמש במצבים האלה:

  • העדפת ניתוב לפי צד הכביש
  • התכונה "עצירת ביניים"

העדפת מסלול לפי צד הכביש

כשיוצרים נקודת ציון לעצירה, אפשר להגדיר העדפה להגעה לצד מסוים של הכביש. אפשר לציין את ההעדפה באחת משתי דרכים: להעדיף את אותו צד של הכביש, או לציין כיוון הגעה.

העדפה לאותו צד של הכביש

אתם מספקים את הקואורדינטות הגיאוגרפיות של נקודת הדרך, ואז מגדירים דגל (setPreferSameSideOfRoad) שמציין שאתם מעדיפים להגיע לאותו צד של הכביש כמו נקודת הדרך – מוצמד למדרכה הקרובה ביותר.

Waypoint waypoint =
   Waypoint.builder()
           .setLatLng(latitude, longitude)
           .setTitle("Somewhere in Sydney")
           .setPreferSameSideOfRoad(true)
           .build()

הגדרת כיוון הגעה

אתם מספקים את הקואורדינטות הגיאוגרפיות של ציון הדרך, ואז מספקים כיוון הגעה (setPreferredHeading) שתואם לכיוון התנועה באותו צד של הכביש שבו הלקוח ממתין.

Waypoint waypoint =
   Waypoint.builder()
           .setLatLng(latitude, longitude)
           .setTitle("Somewhere in Sydney")
           .setPreferredHeading(preferredHeading)
           .build()

ערכת ה-SDK לניווט בוחרת את קטע הכביש שהכי קרוב לנקודת הדרך, שיש לו כיוון נתיב שתואם (בטווח של +/- 55 מעלות) לצד הכביש שבו נמצאת נקודת הדרך.

הגדרת העדפה לעצירת ביניים

במקומות מסוימים, הנהגים לא יכולים לעצור בבטחה (לדוגמה, אזורים מוגבהים, מעבורות, מקומות תת-קרקעיים ואזורים אחרים עם גישה מוגבלת). התכונה עצירת ביניים מעבירה את נקודת הדרך למקום קרוב אם המיקום שלה לא מתאים לעצירת רכב. כשמגדירים את setVehicleStopover לערך true, נקודת הדרך מועברת אוטומטית כשמחשבים את המסלול, אם יש מיקום חלופי זמין.

איך זה עובד

אתם מגדירים את ההעדפה לעצירת ביניים כשאתם יוצרים את נקודת הדרך של העצירה הזו. כדי לעשות את זה, מציינים את ההעדפה setVehicleStopover כמו בדוגמה הבאה:

Waypoint waypoint =
   Waypoint.builder()
           .setLatLng(latitude, longitude)
           .setTitle("Somewhere in Sydney")
           .setVehicleStopover(true)
           .build()