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

כברירת מחדל, 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 מעלות) לצד הכביש שבו נמצאת נקודת הציון.

הגדרת העדפה להפסקות נסיעה

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

איך זה עובד

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

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