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

כברירת מחדל, 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()

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

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

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

איך זה עובד

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

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