שאלות נפוצות

עובדות על המוצר

רשת

נתונים

התאמה אישית של ממשק המשתמש

יצירת מסלול מתבצעת

סימולטור

תהליכי עבודה

עובדות על המוצר

באפליקציה שלך צריך להטמיע תיבת דו-שיח עם ההודעה לגבי התנאים וההגבלות של Navigation SDK שכל נהג צריך לאשר. תיבת הדו-שיח הזו מאפשרת לנהג להסכים לתנאים ולהגבלות. ה-SDK של הניווט מסופק עם קובץ טקסט של התנאים.
ב-Android, משתמשים בשיטה NavigationApi.showTermsAndConditionsDialog כדי להציג את תיבת הדו-שיח שמכילה את המונחים.
ב-iOS, צריך להתקשר אל GMSNavigationServices.showTermsAndConditionsDialogIfNeededWithCompanyName.
כל שפה שנתמכת על ידי מפות Google לנייד זמינה באופן אוטומטי עבור ה-SDK של הניווט. במכשיר יש שפת מערכת שמוגדרת כברירת מחדל ואפליקציה לא יכולה לשנות את ההגדרה הזו. עם זאת, לאפליקציה יש גישה ליותר מ-70 שפות.

כן. ב-Android, אחרי ההפעלה, LocationListener ממשיך לפעול ברקע. האפליקציה ממשיכה לשנות את המיקום ולשמור על הקצב.

ב-iOS, כדי להמשיך לקבל עדכוני מיקום של מיקום וכיוון התנועה ברקע, צריך להטמיע הצמדת כבישים ולהגדיר את allowsBackgroundLocationUpdates לערך YES.

כן. כשיוצרים או משנים מסלול, RouteChangeListener מספק קווים פוליגוניים.

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

רשת

איך ה-API של הניווט מטפל בקישוריות גרועה?
ערכת ה-SDK של הניווט שומרת מראש את המסלול לכל נסיעה. המידע שנשמר מראש כולל פרטי מסלול למשך 15 עד 20 דקות, ומסלולים חלופיים למקרה שהנהג סוטה מהמסלול. ה-SDK לניווט מבצע הערכה של המיקום באמצעות ה-GPS והחיישנים של המכשיר.
האם מצב אופליין זמין?
לא, ה-SDK של הניווט לא מציע מצב אופליין בשלב זה. עם זאת, ה-SDK מספק מידע לגבי התהליך שנשמר מראש במטמון.

נתונים

האם אפשר לאחזר את כל העצירות/היעדים בתהליך לפני התחלת המסלול?

כן. ב-Android, כדי לאחזר את המסלול במסלול צריך להתקשר למספר Navigator.getRouteSegments().

ב-iOS, צריך להתקשר אל GMSNavigator.routeLegs(read).

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

ב-Android, פועלים לפי השלבים הבאים כדי לספק מידע על זמן ההגעה המשוער למשתמשי האפליקציה:

  1. מאחזרים את השעה והמרחק של כל ציוני הדרך באמצעות Navigator.getTimeAndDistanceList().
  2. יש להעביר את המידע הזה לאפליקציית הלקוח, כמו שמתבצע כרגע לגבי זמן ההגעה המשוער של הנהג.

ב-iOS, פועלים לפי השלבים הבאים כדי לספק מידע על זמן ההגעה המשוער למשתמשי האפליקציה:

  1. מאחזרים את הרגליים בתהליך באמצעות Navigator.getRouteSegments().
  2. יש להתקשר למספר GMSNavigator.timeToNextDestination עבור כל אחד מהשלבים במסלול.
  3. מעבירים את פרטי הזמן לאפליקציית הלקוח, כמו שעושים כרגע עם זמן ההגעה המשוער של הנהג.
האם אפשר להשתמש ב-RoadSnappedLocationProvider כדי לקבל את המיקום הנוכחי של הנהג/ת במקרה שהניווט לא פועל בחזית?

כן. ב-Android, האפליקציה RoadSnappedLocationProvider פועלת ברקע כברירת מחדל.

ב-iOS, כדי שהניווט ימשיך לפעול ברקע, צריך להטמיע את הרשאת הגישה של GMSRoadSnappedLocationProviderDelegate ולהגדיר את המאפיין allowsBackgroundLocationUpdates ל-TRUE.

האם ה-SDK של הניווט תומך בגבולות וירטואליים?

לא. בהקשר של ניווט, ל-remainingTimeOrdistanceChangeListener יש יתרון על פני גבול וירטואלי פשוט. יכול להיות שהגבול הגיאוגרפי לא מביא בחשבון את גיאומטריית הכבישים, ולא במרכז המיקום המדויק שאליו הנהג מנווט.

אפשר להעריך את הפונקציונליות הזו באמצעות remainingTimeOrdistanceChangeListener.

  1. יש להגדיר את הסף לקביעת התדירות של הקריאות החוזרות (callback).
  2. בודקים את המרחק שנותר ליעד.

לדוגמה, אם תגדירו את הסף ל-100 מ', תקבלו קריאה חוזרת (callback) כשהמרחק ליעד משתנה ב-100 מ'. ככל שהמרחק הולך ופוחת, אפשר לעדכן את הסף הזה לערך קטן יותר ולקבל קריאות חוזרות (callback) בתדירות גבוהה יותר. אחר כך, בודקים את המרחק שנותר כדי לקבוע אם אתם קרובים מספיק לנקודת האיסוף/ההורדה.

ב-iOS, מטמיעים את ההרשאה GMSNavigatorDelegate.didUpdateRemainingDistance כדי לקבוע את המרחק בין ההתראות.

האם אפשר להשבית התראות כשאפליקציית הניווט פועלת ברקע?

כן. ב-Android, משתמשים ב-Navigator.setHeadsUpNotificationEnabled על מנת לשלוט בהתראות. לשיטה הזו יש ארגומנט בוליאני. FALSE משביתים את ההתראות. TRUE מפעילה את ההתראות.

ב-iOS, משביתים את ההתראות ברקע לגבי מיקומים חסומים בכביש על ידי הגדרת GMSRoadSnappedLocationProviderDelegate.allowsBackgroundLocationUpdates למצב 'לא'.

כדי להשבית את העיבוד ברקע של התראות מיקום אחרות, צריך להתקשר למספר GMSNavigator.sendsBackgroundNotifications(NO).

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

למידע על היבטי התכנות בטרנזקציות חיוב, קראו את המאמר עסקאות לחיוב.

התאמה אישית של ממשק המשתמש

האם אוכל לסמן את אפשרות המסלול הטובה ביותר בצבע?
לא. כרגע אין תמיכה בקידוד צבע מסוים במסלול.
האם ה-SDK לניווט יכול להציג את זמן ההגעה המשוער ליעד הסופי?

כן. ב-Android, יש להשתמש בשיטות הבאות:

  1. מאחזרים את השעה והמרחק של כל ציוני הדרך באמצעות Navigator.getTimeAndDistanceList().
  2. הסתרת זמן ההגעה המשוער של ציון הדרך הנוכחי באמצעות NavigationFragment.setEtaCardEnabled(false).
  3. עבד את זמן ההגעה המשוער ליעד הסופי.

ב-iOS, צריך להשתמש באפשרויות הבאות:

  1. התקשרו אל GMSNavigator.routeLegs(read).
  2. בקטע האחרון, מתקשרים אל GMSNavigator.timeToNextDestination.
  3. הסתרת זמן ההגעה המשוער של ציון הדרך הנוכחי באמצעות MSMapView.settings.navigationFooterEnabled=NO עד FALSE.
  4. עבד את זמן ההגעה המשוער ליעד הסופי.
איך אפשר להסתיר עדכונים של זמן הגעה משוער?

אפשר להשבית כרטיסי ETA באמצעות השיטות הבאות:

  • ב-Android, משתמשים ב-navigationView.setEtaCardEnabled(false).
  • ב-iOS, משתמשים ב-GMSMapView.settings.navigationFooterEnabled=NO.
אילו התאמות אישיות של ממשק המשתמש זמינות בכרטיסים 'כותרת עליונה וכותרת תחתונה'?

ב-Android, משתמשים ב-StylingOptions כדי להגדיר את סגנון צבעי הרקע. כדי להסתיר או להציג את הכותרת העליונה והתחתונה, משתמשים בפונקציות setHeaderEnabled ו-setFooterEnabled של NavigationFragment.

ב-iOS, משתמשים ב-GMSMapView.settings.navigationHeaderPrimaryBackgroundColor כדי להגדיר את עיצוב צבע הרקע. כדי להסתיר או להציג את הכותרת העליונה והכותרת התחתונה, צריך להשתמש במאפיינים navigationFooterEnabled ו-navigationHeaderEnabled של GMSUISettings.

יצירת מסלול מתבצעת

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

כן. ב-Android, יוצרים Marker עם כותרת מותאמת אישית ליעד וקו האורך/רוחב. ה-SDK של הניווט מציג את הכותרת המותאמת אישית ואת הקואורדינטות ב-NavigationMap.

ב-iOS, אתם יוצרים ומציגים GMSMarker עבור היעד.

האם אוכל להשתמש ב-SDK לניווט כדי לעקוב אחר סטיות מנתיב מוגדר?

כן. ב-Android, אפשר להשתמש בNavigator.setRouteChangedListener כדי לקבל התראות כשמסלול משתנה או כשיש המלצה על מסלול חדש:

  1. רושמים האזנה שבודקת את מיקום המכשיר לאורך המסלול באמצעות השיטה Navigator.setRouteChangedListener.
  2. מוסיפים את הקוד לגורם המטפל באירועים של קריאה חוזרת, onRouteChanged:
    • שליחת הודעה למשתמש באפליקציה עם זמן הגעה משוער ופרטי מרחק מעודכנים.
    • לעקוב אחר מיקום המכשיר.
    • [אופציונלי] אפשר להוסיף פונקציות נוספות שהאפליקציה נדרשת לטפל בהן כשהנהג לא מהמסלול שנקבע.

ב-iOS, ניתן להשתמש בGMSNavigator ובבעלי הגישה שלו כדי לקבל התראות כאשר מסלול משתנה או כאשר מומלץ מסלול חדש:

  1. בבקר הצגת המפה, מטמיעים את הפרוטוקול GMSNavigatorDelegate ואת הפרוטוקול GMSRoadSnappedLocationProviderDelegate.
  2. הטמעה של GMSNavigatorDelegate.navigatorDidChangeRoute.
  3. גישה למסלול החדש באמצעות המאפיינים routeLegs ו-currentRouteLeg של GMSNavigator.
האם הנהג יכול לצאת מהניווט בלי להשלים את המסלול?

כן. ב-Android, מפעילים את השיטה Navigator.stopGuidance() כדי להפסיק את הניווט.

ב-iOS, צריך להתקשר אל GMSNavigator.clearDestinations.

סימולטור

האם הסימולטור תומך בשינויים במסלול?

כן. ב-Android, קוראים לפונקציה simulateLocationsAlongNewRoute כדי לדמות מסלול שכולל שינוי מסלול. השיטה simulateLocationsAlongExistingRoute מתעלמת משינויים במסלול הקיים.

ב-iOS, אפשר להשתמש ב-GMSLocationSimulator.simulateAlongNewRouteToDestinations כדי לדמות מסלול שכולל שינוי מסלול. אם לא צפויים שינויים במסלול, אפשר להשתמש ב-GMSLocationSimulator.simulateLocationsAlongExistingRoute או ב-GMSLocationSimulator.simulateAlongNewRouteToDestinations.

תהליכי עבודה

איך סוגרים את ההתראה אחרי שסוגרים פעילות שמכילה קטע ניווט?

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

כדי לטפל בקליקים על ההתראה, יש להשתמש בNavigator.startGuidance(intent resumeIntent). resume intent מופעל כשהמשתמש לוחץ על ההתראה באפליקציה. בדרך כלל, מתבצעת קריאה לפונקציה Navigator.startguidance(getIntent()) מהפעילות הראשית, שהמערכת זוכרת את הפעילות כשמשתמש לוחץ על ההתראה.