שינוי העדפות הניתוב

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

המונח קצר יותר מתייחס למסלול הקצר ביותר מבין המסלולים האופטימליים, על סמך מודל העלות שמוגדר כברירת מחדל. יכול להיות שהמסלול הקצר יותר הוא לא המסלול הקצר ביותר, כי יכול להיות שהאפשרות הזו היא חלופה גרועה. לדוגמה, אם המסלול הקצר ביותר הוא 10 ק"מ והנסיעה בו נמשכת 50 דקות, ומסלול אחר הוא 15 ק"מ והנסיעה בו נמשכת רק 20 דקות, האפשרות השנייה היא האפשרות האופטימלית, כי לא כדאי להקדיש 30 דקות כדי לקצר את המסלול ב-5 ק"מ.

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

הצגת פרטי המסלול

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

הפרטים האלה מגיעים מ-RouteInfo ומוחזרים ב-ListenableResultFuture.

דוגמה

בדוגמת הקוד הבאה מוסבר איך לקבל את פרטי המסלול של כל אחת משתי שיטות הניתוב.

ListenableResultFuture<RouteInfo> routeInfoFuture =
        navigator.getRouteInfo(waypoint, routingOptions);

הגדרת אסטרטגיית הניתוב

כדי להגדיר את אסטרטגיית הניתוב, מגדירים את הערך RoutingOptions.routingStrategy כשקוראים לפונקציה setDestinations().

הערך של RoutingOptions.routingStrategy יכול להיות אחד מהערכים הבאים:

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

דוגמה

דוגמת הקוד הבאה מראה איך להגדיר את העדפת המסלול הקצר יותר.

RoutingOptions routingOptions = new RoutingOptions();
routingOptions.routingStrategy(RoutingStrategy.SHORTER);
navigator.setDestinations(destinations, routingOptions, displayOptions);

מסלולים שכוללים מעבורות

כברירת מחדל, ה-NavSDK לא כולל מסלולים שכוללים מעבורות. אם אתם מעדיפים לכלול אפשרויות של מעבורות במסלולים שלכם, תוכלו לשנות את העדפת הניתוב הזו כדי לחשוף את הנסיעה למקטעים של מעבורות. לשם כך, צריך להגדיר את הערך של avoidFerries כ-false.

דוגמה

RoutingOptions routingOptions = new RoutingOptions().avoidFerries(true);
// Add additional routing preferences
navigator.setDestination(destination, routingOptions);

הפורמט של תיאור המסלול

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

הגדרת הפורמט של הקריאה לפעולה לגבי המסלול

אפשר לשנות את הפורמט של ההודעה על מסלול על ידי קריאה ל-setRouteCalloutInfoFormat ב-NavigationView (או ב-NavigationFragment). הערך של setRouteCalloutInfoFormat יכול להיות אחד מהערכים הבאים:

ערך מספורתיאור
RouteCalloutInfoFormat.DEFAULT זמן הנסיעה שנותר כשמשתמשים בשיטת ברירת המחדל לניתוב לפי הנתיב הטוב ביותר. מוצגת המרחק שנותר כשמשתמשים בשיטת הניתוב למסלול הקצר יותר.
RouteCalloutInfoFormat.TIME מוצג הזמן שנותר.
RouteCalloutInfoFormat.DISTANCE הצגת המרחק שנותר.

דוגמה

בדוגמת הקוד הבאה מוסבר איך להגדיר את הפורמט של הקריאה לפעולה בנתיב.

mNavFragment.setRouteCalloutInfoFormat(RouteCalloutInfoFormat.TIME);