שאלות נפוצות
פרטי המוצר
- איך צריך להציג את ההודעה על התנאים וההגבלות של Navigation SDK?
- באילו שפות אפשר להשתמש בהנחיה הקולית?
- האם הכיוון נשמר כשהנהג יוצא ממצב הניווט?
- האם הקווים הפוליגוניים זמינים כשמתחילים או משנים מסלול?
- האם משתמשי האפליקציה צריכים להתקין את מפות Google לנייד?
- האם Navigation SDK יכול לזהות חניונים ליד מסעדות ויעדים אחרים?
- האם Navigation SDK מציג את כיוון התנועה בנתיבים כשמתקרבים לנקודת פנייה?
בעיות
רשת
נתונים
- האם אפשר לאחזר את כל התחנות או היעדים בנסיעה לפני שמתחילים את המסלול?
- האם המסלול המפורט זמין בתחילת המסלול?
- איך זמן ההגעה המשוער (ETA) מוצג למשתמשי האפליקציה?
- האם אפשר להשתמש ב-
RoadSnappedLocationProviderכדי לקבל את המיקום הנוכחי של הנהג אם הניווט לא פועל בחזית? - האם Navigation SDK תומך בגבולות וירטואליים?
- אפשר להשבית את ההתראות כשאפליקציית הניווט פועלת ברקע?
התאמה אישית של ממשק המשתמש
- אפשר לסמן בצבע את אפשרות המסלול הטובה ביותר?
- האם אפשר להציג ב-Navigation SDK את זמן ההגעה המשוער ליעד הסופי?
- איך אפשר להסתיר את העדכונים של זמן ההגעה המשוער?
- אילו התאמות אישיות של ממשק המשתמש זמינות לכרטיסי הכותרת העליונה והכותרת התחתונה?
ניתוב
- האם אפשר לספק מסלול ספציפי לנהג או להסיר מסלולים חלופיים?
- אפשר להציג לנהג תווית שונה ליעד, במקום מיקום היעד שמוגדר כברירת מחדל?
- האם אפשר להשתמש ב-Navigation SDK כדי לעקוב אחרי סטיות ממסלול מוגדר?
- האם הנהג יכול לצאת מהניווט בלי להשלים את המסלול?
- האם Navigation SDK תומך במסלולים ובניווט למשאיות ולרכבים גדולים?
סימולטור
תהליכי עבודה
שירותי ניידות
- מה ההבדל בשימוש ב-Navigation SDK ללקוחות של Mobility Services?
- איך אפשר לדעת אם אני לקוח של Mobility Services?
- איך מתבצע החיוב על Navigation SDK ללקוחות של Mobility Services?
- באילו ממשקי API של Navigation SDK רק לקוחות של Mobility Services יכולים להשתמש?
- אם אני לקוח של Mobility Services, האם אני יכול להשתמש גם בהטמעה של Navigation SDK שלא קשורה ל-Mobility Services?
פרטי המוצר
- באפליקציה צריך להטמיע תיבת דו-שיח עם הודעה על התנאים וההגבלות של Navigation SDK, שכל נהג חייב לאשר. בתיבת הדו-שיח הזו הנהג יכול לאשר את התנאים וההגבלות. קובץ טקסט של התנאים מצורף ל-Navigation SDK.
- ב-Android, משתמשים ב-method
NavigationApi.showTermsAndConditionsDialogכדי להציג את תיבת הדו-שיח שמכילה את התנאים. - ב-iOS, מפעילים את
GMSNavigationServices.showTermsAndConditionsDialogIfNeededWithCompanyName. - כל השפות שנתמכות באפליקציית מפות Google לנייד זמינות באופן אוטומטי ב-Navigation SDK. למכשיר יש שפת מערכת שמוגדרת כברירת מחדל, והאפליקציה לא יכולה לשנות את ההגדרה הזו. עם זאת, לאפליקציה יש גישה ליותר מ-70 שפות.
-
כן. ב-Android, אחרי שמפעילים את
LocationListener, היא ממשיכה לפעול ברקע. האפליקציה ממשיכה להצמיד את המיקום לכביש ולשמור על הכיוון.ב-iOS, כדי להמשיך לקבל עדכונים לגבי המיקום והכיוון ברקע, צריך להטמיע הצמדה לכביש ולהגדיר את
allowsBackgroundLocationUpdatesל-YES. -
כן. כשיוצרים או משנים מסלול,
RouteChangeListenerמספק קווים פוליגוניים. - לא, כדי להשתמש ב-Navigation SDK לא צריך להתקין את אפליקציית מפות Google לנייד במכשיר.
- לא, בשלב הזה Navigation SDK לא מספק את הפונקציונליות הזו.
- כן. כיוון התנועה זמין ומוצג כברירת מחדל.
בעיות
- ב-Xcode 12, האפליקציות לא נבנות בצורה תקינה בסימולטור. איך פותרים את הבעיה?
-
כדי לפתור את הבעיה, פותחים את Build Settings (הגדרות ה-build) של פרויקט Xcode ומוסיפים את
arm64ל-Excluded Architecturesרק ל-builds של iOS Simulator.למידע נוסף, קראו את השרשור הזה ב-StackOverflow.
- GMSMapView לא נטען.
-
אם ה-GMSMapView לא נטען:
- בודקים ש-NavSDK מופעל ב-Cloud Console.
- אם Nav SDK מותקן, אבל הפרויקט לא משתמש בממשקי ה-API של Nav SDK, צריך להסיר אותו מהקובץ הבינארי.
רשת
- איך Navigation SDK מתמודד עם קישוריות חלשה?
- Navigation SDK שומר במטמון מראש את המסלול של כל נסיעה. המידע שנשמר במטמון מראש כולל מידע על מסלול ל-15-20 דקות, וחלופות למסלול למקרה שהנהג סוטה מהמסלול. Navigation SDK מחשב מיקום משוער באמצעות ה-GPS והחיישנים של המכשיר.
- האם יש מצב אופליין?
- לא, בשלב הזה אין ב-Navigation SDK מצב אופליין, אבל הוא מספק מידע שנשמר מראש במטמון לנסיעה.
נתונים
- האם אפשר לאחזר את כל העצירות או היעדים בנסיעה לפני שמתחילים את המסלול?
-
כן. ב-Android, כדי לאחזר את המסלול, מפעילים את
Navigator.getRouteSegments().ב-iOS, מפעילים את
GMSNavigator.routeLegs(read). - האם הנחיית מסלול מפורטת זמינה בתחילת המסלול?
- כן. Navigation SDK מספק רשימה של מקטעי מסלול. בנוסף, הנהג יכול להחליק בכרטיס ההוראות שבכותרת כדי לראות כל תמרון.
- איך זמן ההגעה המשוער מוצג למשתמשי האפליקציה?
-
כדי לספק למשתמשי האפליקציה מידע על זמן ההגעה המשוער ב-Android:
- אחזור הזמן והמרחק של כל נקודות הדרך באמצעות
Navigator.getTimeAndDistanceList(). - מעבירים את המידע הזה לאפליקציית הלקוח כמו שמעבירים את זמן ההגעה המשוער של הנהג.
ב-iOS, פועלים לפי השלבים הבאים כדי לספק למשתמשי האפליקציה מידע על זמן ההגעה המשוער:
- אחזור המקטעים בנסיעה באמצעות
Navigator.getRouteSegments(). - מפעילים את
GMSNavigator.timeToNextDestinationלכל מקטע בנסיעה. - מעבירים את פרטי הזמן לאפליקציית הלקוח כמו שמעבירים את זמן ההגעה המשוער של הנהג.
- אחזור הזמן והמרחק של כל נקודות הדרך באמצעות
-
האם אפשר להשתמש ב-
RoadSnappedLocationProviderכדי לקבל את המיקום הנוכחי של הנהג אם הניווט לא פועל בחזית? -
כן. ב-Android, כברירת מחדל
RoadSnappedLocationProviderפועל ברקע.ב-iOS, כדי שהניווט ימשיך לפעול ברקע, מטמיעים את ה-listener של
GMSRoadSnappedLocationProviderListenerומגדירים את המאפייןallowsBackgroundLocationUpdatesלערךTRUE. - האם Navigation SDK תומך בגבולות וירטואליים?
-
לא. בהקשר של ניווט, ל-
remainingTimeOrdistanceChangeListenerיש יתרון על פני גבול וירטואלי. יכול להיות שהגבולות הווירטואליים לא יביאו בחשבון את הגיאומטריה של הכביש, ולא יהיו ממורכזים בנקודה המדויקת שאליה הנהג מנווט.אפשר להשתמש ב-
remainingTimeOrdistanceChangeListenerכדי לקבל פונקציונליות דומה.- מגדירים את הסף כדי לקבוע את תדירות הקריאות החוזרות.
- בודקים את המרחק שנותר עד ליעד.
לדוגמה, אם מגדירים את הסף ל-100 מטרים, מקבלים קריאה חוזרת כשהמרחק ליעד משתנה ב-100 מטרים. ככל שהמרחק קטן, אפשר לעדכן את הסף הזה לערך קטן יותר ולקבל קריאות חוזרות בתדירות גבוהה יותר. אחר כך בודקים את המרחק שנותר כדי לקבוע אם אתם קרובים מספיק למיקום האיסוף או ההורדה.
ב-iOS, מטמיעים את ה-listener
GMSNavigatorListener.didUpdateRemainingDistanceכדי לנהל את המרחק בין ההתראות. - אפשר להשבית את ההתראות כשאפליקציית הניווט פועלת ברקע?
-
כן. ב-Android, אפשר להשתמש ב-
Navigator.setHeadsUpNotificationEnabledכדי לשלוט בהתראות. לשיטה הזו יש ארגומנט בוליאני.FALSEמשבית את ההתראות, ו-TRUEמפעיל אותן.ב-iOS, משביתים את ההתראות ברקע על מיקומים שמוצמדים לכביש על ידי הגדרת
GMSRoadSnappedLocationProvider.allowsBackgroundLocationUpdatesלערך NO.כדי להשבית את העיבוד ברקע של התראות מיקום אחרות, צריך להפעיל את
GMSNavigator.sendsBackgroundNotifications(NO).
התאמה אישית של ממשק המשתמש
- אפשר להגדיר קוד צבע לאפשרות המסלול הטובה ביותר?
- לא. בשלב הזה אין תמיכה בקידוד צבעים של אפשרות מסלול ספציפית.
- האם אפשר להציג ב-Navigation SDK את זמן ההגעה המשוער ליעד הסופי?
-
כן. ב-Android, משתמשים בשיטות הבאות:
- אחזור הזמן והמרחק של כל נקודות הדרך באמצעות
Navigator.getTimeAndDistanceList(). - הסתרת זמן ההגעה המשוער לנקודת הציון הנוכחית באמצעות
NavigationFragment.setEtaCardEnabled(false). - מציגים את זמן ההגעה המשוער ליעד הסופי.
ב-iOS, משתמשים באפשרויות הבאות:
- התקשרו אל
GMSNavigator.routeLegs(read). - בקטע האחרון, מתקשרים אל
GMSNavigator.timeToNextDestination. - כדי להסתיר את זמן ההגעה המשוער של נקודת הציון הנוכחית, מגדירים את הערך של
MSMapView.settings.navigationFooterEnabled=NOל-FALSE. - מציגים את זמן ההגעה המשוער ליעד הסופי.
- אחזור הזמן והמרחק של כל נקודות הדרך באמצעות
- איך אפשר להסתיר עדכונים לגבי זמן ההגעה המשוער?
-
כדי להשבית את כרטיסיות פרטי זמן ההגעה המשוער, אפשר להשתמש בשיטות הבאות:
- ב-Android, משתמשים ב-
navigationView.setEtaCardEnabled(false). - ב-iOS, משתמשים ב-
GMSMapView.settings.navigationFooterEnabled=NO.
- ב-Android, משתמשים ב-
-
ב-Android, משתמשים ב-
StylingOptionsכדי להגדיר את הסגנון של צבע הרקע. כדי להסתיר או להציג את הכותרת העליונה והכותרת התחתונה, משתמשים בפונקציות החברsetHeaderEnabledו-setFooterEnabledשלNavigationFragment.ב-iOS, משתמשים ב-
GMSMapView.settings.navigationHeaderPrimaryBackgroundColorכדי להגדיר את סגנון צבע הרקע. כדי להסתיר או להציג את הכותרת העליונה והכותרת התחתונה, משתמשים במאפייניםnavigationFooterEnabledו-navigationHeaderEnabledשלGMSUISettings.
ניתוב
- האם אפשר לספק מסלול ספציפי לנהג או להסיר מסלולים חלופיים?
- לא. כברירת מחדל, מוצגים כמה מסלולים, והמסלול המהיר ביותר מקבל עדיפות. כדי להשפיע על מסלול ברירת המחדל, אפשר להוסיף לבקשה העדפות, כמו "הימנעות מכבישים מהירים ומכבישי אגרה". הוספת נקודות ציון משפיעה גם על המסלול.
- האם אפשר להציג למשתמש באפליקציה תווית שונה ליעד, במקום מיקום היעד שמוגדר כברירת מחדל?
-
כן. ב-Android, יוצרים
Markerעם כותרת מותאמת אישית ליעד ולקווי האורך והרוחב. הכותרת והקואורדינטות המותאמות אישית יוצגו ב-NavigationMapבאמצעות ה-Navigation SDK.ב-iOS, יוצרים ומציגים
GMSMarkerליעד. - האם אפשר להשתמש ב-Navigation SDK כדי לעקוב אחרי סטיות מנתיב מוגדר?
-
כן. ב-Android, משתמשים ב-
Navigator.setRouteChangedListenerכדי לקבל התראות כשמסלול משתנה או כשמומלץ מסלול חדש:- רושמים מאזין שבודק את מיקום המכשיר לאורך המסלול באמצעות השיטה
Navigator.setRouteChangedListener. - מוסיפים קוד לגורם המטפל באירועים של הקריאה החוזרת (callback),
onRouteChanged:- שליחת הודעה למשתמש באפליקציה עם מידע מעודכן על זמן ההגעה המשוער והמרחק.
- לעקוב אחרי מיקום המכשיר.
- [אופציונלי] מוסיפים פונקציונליות אחרת שנדרשת לאפליקציה כדי לטפל במקרים שבהם הנהג סוטה מהמסלול שנקבע.
ב-iOS, משתמשים ב-
GMSNavigatorובמאזינים שלו כדי לקבל התראות כשמסלול משתנה או כשמומלץ מסלול חדש:- בבקר התצוגה של המפה, מטמיעים את הפרוטוקול
GMSNavigatorListenerואת הפרוטוקולGMSRoadSnappedLocationProviderListener. - מטמיעים את
GMSNavigatorListener.navigatorDidChangeRoute. - אפשר לגשת למסלול החדש באמצעות המאפיינים
routeLegsו-currentRouteLegשלGMSNavigator.
- רושמים מאזין שבודק את מיקום המכשיר לאורך המסלול באמצעות השיטה
-
כן. ב-Android, מפעילים את ה-method
Navigator.stopGuidance()כדי להפסיק את הניווט.ב-iOS, מפעילים את
GMSNavigator.clearDestinations. - האם Navigation SDK תומך במסלולים ובניווט למשאיות ולרכבים גדולים?
-
כן. בעזרת ניתוב רכבים גדולים (LVR), אתם יכולים להעביר ל-Navigation SDK אסימוני מסלול ספציפיים למשאיות שנוצרו על ידי Routes API או Route Optimization API. ה-SDK מספק ניווט מפורט עם הסברים על המסלול (גובה, משקל, חומרים מסוכנים והגבלות על משאיות) ושומר על הפרופיל הפיזי של הרכב במהלך שינוי מסלול דינמי. פרטים נוספים זמינים במאמר ניווט במסלולים לרכבים גדולים.
סימולטור
- האם הסימולטור תומך בשינויי מסלול?
-
כן. ב-Android, מפעילים את
simulateLocationsAlongNewRouteכדי לדמות נסיעה שכוללת שינוי מסלול. השיטהsimulateLocationsAlongExistingRouteמתעלמת משינויים במסלול הקיים.ב-iOS, משתמשים ב-
GMSLocationSimulator.simulateAlongNewRouteToDestinationsכדי לדמות נסיעה שכוללת שינוי במסלול. אם אתם לא צופים שינויים במסלול, אתם יכולים להשתמש ב-GMSLocationSimulator.simulateLocationsAlongExistingRouteאו ב-GMSLocationSimulator.simulateAlongNewRouteToDestinations.
תהליכי עבודה
- איך אפשר לסגור את ההתראה אחרי שסוגרים פעילות שמכילה קטע ניווט?
-
ההתראה על הניווט נשארת גלויה במהלך הניווט, כשהפעילות סגורה. כשהרכב מגיע ליעד, הניווט נפסק וההתראה נעלמת.
כדי לטפל בקליקים על ההתראה, משתמשים ב-
Navigator.startGuidance(intent resumeIntent). האירועresume intentמופעל כשמשתמש באפליקציה לוחץ על ההתראה. בדרך כלל, ה-Navigator.startguidance(getIntent())נקרא מהפעילות הראשית, שמאחזרת את הפעילות כשהמשתמש באפליקציה לוחץ על ההתראה.
שירותי ניידות
שירותי הניידות של Google Maps Platform כוללים אוסף של ממשקי API וערכות SDK, שנועדו לתמוך בצרכים של עסקים בתחום התחבורה והלוגיסטיקה. לקוחות של Mobility Services משתמשים בדרך כלל ב-Navigation SDK בשילוב עם שירותים קשורים לאופטימיזציה של מסלולים, שיגור, מעקב אחרי משימות, ניתוח נתונים של צי רכבים ועוד. גם החיוב על Navigation SDK שונה ללקוחות של Mobility Services. מידע נוסף זמין במסמכי התיעוד של Mobility Services.
מוצרי Mobility זמינים רק ללקוחות נבחרים. למידע נוסף, פנו לנציג המכירות שלכם.
ReportBillableEvent בקוד שלכם. רק לקוחות של Mobility Services צריכים להפעיל את השיטה ReportBillableEvent.
יש כמה ממשקי API ב-Navigation SDK שמיועדים לשימוש רק על ידי לקוחות של Mobility Services, שמחויבים על ידי Google על בסיס כל עסקה. אם אתם לא לקוחות של Mobility Services, השיטות הבאות לא יפעלו:
כן, לקוחות של Mobility Services יכולים להשתמש גם בהטמעות של Navigation SDK שקשורות ל-Mobility Services וגם בהטמעות שלא קשורות ל-Mobility Services. עם זאת, אפשר להשתמש רק בסוג הטמעה אחד באפליקציה בכל פעם. אתם צריכים גם ליצור פרויקט חדש ב-Google Cloud, חשבון לחיוב ומפתח API, בנפרד מאלה שבהם אתם משתמשים בהטמעה של Mobility Services. מידע נוסף זמין בסקירה הכללית על הגדרת Navigation SDK.
כדי לקבל מידע נוסף על שימוש בהטמעה של Navigation SDK שלא קשורה ל-Mobility Services, כולל העברת אפליקציה מסוג הטמעה אחד לאחר, פנו לאיש הקשר האחראי לחשבון Google שלכם.
הערה: אם אתם לא לקוחות של Mobility Services ורוצים לקבל מידע נוסף על אוסף ממשקי ה-API וערכות ה-SDK של Mobility Services, פנו למחלקת המכירות של Google Maps Platform.