חישובי מסלולים (כולל ניתוב מחדש) מחזירים את המסלול שייקח את הכי פחות זמן לניווט בתור המסלול הטוב ביותר כברירת מחדל. אבל אפשר לשנות את אסטרטגיית הניתוב כך שיוחזר המסלול הקצר יותר מבין חלופות המסלול.
המונח קצר יותר מתייחס למסלול הקצר ביותר מבין המסלולים האופטימליים, על סמך מודל העלויות שמוגדר כברירת מחדל. יכול להיות שהמסלול הקצר יותר לא יהיה המסלול הקצר ביותר באופן מוחלט, כי יכול להיות שהאפשרות הזו לא תהיה חלופה טובה. לדוגמה, אם המסלול הקצר ביותר הוא באורך 10 ק"מ והניווט בו נמשך 50 דקות, ומסלול אחר הוא באורך 15 ק"מ אבל הניווט בו נמשך רק 20 דקות, הבחירה השנייה היא אופטימלית, כי לא כדאי להשקיע 30 דקות כדי לקצר את הדרך ב-5 ק"מ.
אחרי שמגדירים את אסטרטגיית הניתוב לנסיעה, היא לא משתנה עד שהנסיעה מסתיימת. כדי לשנות את אסטרטגיית הניתוב של נסיעה קיימת, צריך למחוק את יעדי הנסיעה ולהגדיר אותם מחדש עם אסטרטגיית הניתוב החדשה.
הגדרת אסטרטגיית הניתוב
כדי להגדיר את אסטרטגיית הניתוב, צריך להגדיר את 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 | הצגת המרחק שנותר. |
דוגמה
בדוגמה הבאה של קוד אפשר לראות איך מגדירים את הפורמט של קריאה ל-callout של מסלול.
mNavFragment.setRouteCalloutInfoFormat(RouteCalloutInfoFormat.TIME);