Questions fréquentes
Infos sur le produit
- Comment les Conditions d'utilisation du SDK Navigation doivent-elles d'utilisation des services doit s'afficher ?
- Dans quelles langues le guidage vocal est-il disponible ?
- Le capot est-il entretenu lorsque le conducteur quitte le mode de navigation ?
- Les polylignes sont-elles disponibles au démarrage ou pour modifier un itinéraire ?
- Les utilisateurs de l'application ont-ils besoin de Google Maps ? sur votre appareil mobile ?
- Le SDK Navigation identifier les places de parking à proximité des restaurants et d'autres destinations ?
- Le SDK Navigation indique le sens de circulation dans les voies à l'approche d'un tournant ?
- Quel SDK Navigation Les API ne doivent-elles être utilisées que par les clients des services de mobilité ?
Problèmes
- Dans Xcode 12, les applications ne pour le simulateur. Comment résoudre ce problème ?
GMSMapView
ne se charge pas.
Réseau
- Quel est l'impact Le SDK Navigation gère une mauvaise connectivité ?
- Un mode hors connexion est-il disponible ?
Données
- Puis-je récupérer tous des arrêts/destinations d'un trajet avant de le commencer ?
- Est-ce que la navigation détaillée est disponible ? au début d'un itinéraire ?
- Quel est l'heure d'arrivée estimée ? (heure d'arrivée prévue) communiquée aux utilisateurs de l'application ?
- Le
RoadSnappedLocationProvider
permettant d'obtenir les informations position ancrée actuelle si la navigation n'est pas au premier plan ? - Le SDK Navigation sont-ils compatibles avec le géorepérage ?
- Puis-je désactiver les notifications lorsque si l'application Navigation est exécutée en arrière-plan ?
Personnalisation de l'interface utilisateur
- Puis-je attribuer le meilleur code couleur d'itinéraire principal ?
- Le SDK Navigation afficher l'heure d'arrivée prévue pour la destination finale ?
- Comment masquer les mises à jour de l'heure d'arrivée prévue ?
- Quelles personnalisations de l'interface utilisateur disponible pour les fiches d'en-tête et de pied de page ?
Routage
- Puis-je fournir un itinéraire spécifique ? à un conducteur ou supprimer des itinéraires alternatifs ?
- Puis-je afficher un autre libellé au conducteur ? que l'emplacement de destination par défaut ?
- Puis-je utiliser le SDK Navigation ? pour suivre les écarts par rapport à un tracé défini ?
- Le conducteur peut-il quitter la navigation sans terminer l'itinéraire ?
Simulateur
Workflows
- <ph type="x-smartling-placeholder"></ph> Comment ignorer la notification après la fermeture d'une activité qui contient une fragment de navigation ? (Android uniquement)
Infos sur le produit
- Votre application doit implémenter une boîte de dialogue contenant les Conditions d'utilisation du SDK Navigation que chaque conducteur doit accepter. Cette boîte de dialogue indique au pilote la possibilité d'accepter les conditions d'utilisation. Fichier texte contenant les termes est fourni avec le SDK Navigation.
- Dans Android, utilisez l'
NavigationApi.showTermsAndConditionsDialog
pour afficher la boîte de dialogue contenant les termes. - Sur iOS, appelez
GMSNavigationServices.showTermsAndConditionsDialogIfNeededWithCompanyName
- Toutes les langues prises en charge par Google Maps Mobile sont automatiquement disponible pour le SDK Navigation. Un appareil dispose d'une langue système par défaut, et une application ne peut pas modifier ce paramètre. Toutefois, l'application a accès à plus de 70 langues.
-
Oui. Dans Android, une fois démarré, le
LocationListener
continue de s'exécuter en arrière-plan. Votre application continue d'ajuster la position de la route et maintient la direction.Dans iOS, pour continuer à recevoir des mises à jour de la position géographique et de l'orientation en arrière-plan, implémenter l'ancrage de la route et définir De
allowsBackgroundLocationUpdates
àYES
. -
Oui. Lorsqu'une route est créée ou modifiée, le
RouteChangeListener
fournit des polylignes. - Non, le SDK Navigation ne nécessite pas Google Maps Mobile à installer sur l'appareil.
- Non, le SDK Navigation ne fournit pas cette fonctionnalité pour le moment en temps réel.
- Oui. Le sens de circulation est disponible et affiché par défaut.
- Quel SDK Navigation Les API ne doivent-elles être utilisées que par les clients Services de mobilité ?
-
Le SDK Navigation contient plusieurs API destinées à être utilisées uniquement par les clients des services de mobilité, qui sont facturés par Google au cas par cas. Si vous n'êtes pas client de Services de mobilité, les méthodes suivantes sont considérées comme no-ops:
Problèmes
- Dans Xcode 12, les applications ne se compilent pas correctement pour le simulateur. Comment résoudre ce problème ?
-
Pour résoudre ce problème, ouvrez les paramètres "Build Settings" de votre projet Xcode et ajoutez
arm64
auExcluded Architectures
pour les builds "iOS Simulator" uniquement.Pour plus d'informations, consultez ce fil de discussion StackOverflow.
- GMSMapView ne se charge pas.
-
Si GMSMapView ne se charge pas:
- Vérifiez que NavSDK est activé dans la console Cloud.
- Si le SDK Nav est installé, mais que votre projet n'utilise pas les API du SDK Nav, supprimez-le du binaire.
Réseau
- Comment le SDK Navigation gère-t-il une mauvaise connectivité ?
- Le SDK Navigation met en pré-cache l'itinéraire pour chaque trajet. Les informations en pré-cache incluent des informations de routage pendant 15 à 20 minutes, et d'autres itinéraires au cas où le conducteur s'écarte de l'itinéraire. La Le SDK Navigation détermine la position approximative à l'aide du GPS de l'appareil et capteurs.
- Un mode hors connexion est-il disponible ?
- Non, le SDK Navigation n'offre pas hors connexion. Toutefois, le SDK fournit des informations en pré-cache pour un voyage.
Données
- Puis-je récupérer tous les arrêts/destinations d'un trajet avant de le commencer ? l'itinéraire ?
-
Oui. Dans Android, pour récupérer l'itinéraire d'un itinéraire, appelez
Navigator.getRouteSegments()
Dans iOS, appelez
GMSNavigator.routeLegs(read)
. - La navigation détaillée est-elle disponible au début d'un itinéraire ?
- Oui. Le SDK Navigation fournit une liste de segments d'itinéraire. De plus, le conducteur peut faire défiler la carte d'itinéraire située dans l'en-tête. pour voir chaque manœuvre.
- Comment l'heure d'arrivée prévue est-elle communiquée aux utilisateurs de l'application ?
-
Sous Android, procédez comme suit pour fournir des informations sur l'heure d'arrivée prévue aux utilisateurs de l'application:
- Récupérez la durée et la distance de tous les points de cheminement à l'aide de
Navigator.getTimeAndDistanceList()
- Transmettez ces informations à l'application cliente au fur et à mesure pour l'heure d'arrivée prévue du conducteur.
Sous iOS, procédez comme suit pour fournir des informations sur l'heure d'arrivée prévue aux utilisateurs de l'application:
- Récupérer les étapes du trajet à l'aide de
Navigator.getRouteSegments()
- Appelez
GMSNavigator.timeToNextDestination
pour chaque étape du trajet. - Transférez les informations de temps à l'application cliente au fur et à mesure pour l'heure d'arrivée prévue du conducteur.
- Récupérez la durée et la distance de tous les points de cheminement à l'aide de
-
Le
RoadSnappedLocationProvider
peut-il être utilisé pour obtenir les informations position ancrée actuelle si la navigation n'est pas au premier plan ? -
Oui. Dans Android,
RoadSnappedLocationProvider
s'exécute dans en arrière-plan par défaut.Dans iOS, pour que la navigation continue de s'exécuter en arrière-plan, implémentez l'écouteur. pour
GMSRoadSnappedLocationProviderListener
, puis définissez la propriétéallowsBackgroundLocationUpdates
àTRUE
. - Le SDK Navigation est-il compatible avec le géorepérage ?
-
Non. Dans le contexte de la navigation,
remainingTimeOrdistanceChangeListener
présente un avantage par rapport à un simple géorepérage. Il est possible que la zone de géorepérage ne prenne pas en compte la forme de la route, et ne sera pas nécessairement centrée sur le point exact le conducteur se lance dans la navigation.Vous pouvez obtenir une approximation de cette fonctionnalité en utilisant
remainingTimeOrdistanceChangeListener
- Définissez le seuil pour déterminer la fréquence des rappels.
- Vérifiez la distance restante jusqu'à la destination.
Par exemple, si vous définissez le seuil sur 100 m, vous recevez un rappel lorsque la distance jusqu'à la destination change. par 100 m. À mesure que la distance diminue, vous pouvez réduire ce seuil et de recevoir des rappels plus fréquents. Examinez ensuite la distance restante pour déterminez si vous êtes suffisamment proche du lieu de prise en charge/de dépose.
Dans iOS, implémentez l'écouteur
GMSNavigatorListener.didUpdateRemainingDistance
. pour gérer la distance entre les notifications. - Puis-je désactiver les notifications lorsque l'application Navigation est exécutée en arrière-plan ?
-
Oui. Sous Android, utilisez
Navigator.setHeadsUpNotificationEnabled
. pour contrôler les notifications. Cette méthode comporte un argument booléen.FALSE
désactive les notifications ;TRUE
active les notifications.Dans iOS, désactivez les notifications en arrière-plan pour les positions avec routes fermées en paramètre
GMSRoadSnappedLocationProvider.allowsBackgroundLocationUpdates
par "NON".Pour désactiver le traitement en arrière-plan pour d'autres notifications de position, appelez
GMSNavigator.sendsBackgroundNotifications(NO)
Personnalisation de l'interface utilisateur
- Puis-je appliquer un code couleur au meilleur itinéraire ?
- Non. Le codage couleur pour une option d'itinéraire spécifique n'est pas disponible pour le moment.
- Le SDK Navigation peut-il afficher l'heure d'arrivée prévue pour la destination finale ?
-
Oui. Dans Android, utilisez les méthodes suivantes:
- Récupérez la durée et la distance de tous les points de cheminement à l'aide de
Navigator.getTimeAndDistanceList()
- Masquez l'heure d'arrivée prévue du point de cheminement actuel avec
NavigationFragment.setEtaCardEnabled(false)
- Affichez l'heure d'arrivée prévue finale.
Sous iOS, utilisez le code suivant:
- Appelez
GMSNavigator.routeLegs(read)
. - Lors de la dernière étape, appelez
GMSNavigator.timeToNextDestination
- Masquez l'heure d'arrivée prévue du point de cheminement actuel avec
MSMapView.settings.navigationFooterEnabled=NO
sur FALSE. - Affichez l'heure d'arrivée prévue finale.
- Récupérez la durée et la distance de tous les points de cheminement à l'aide de
- Comment masquer les mises à jour de l'heure d'arrivée prévue ?
-
Vous pouvez désactiver les cartes d'heure d'arrivée prévue à l'aide des méthodes suivantes:
- Sous Android, utilisez
navigationView.setEtaCardEnabled(false)
. - Sous iOS, utilisez
GMSMapView.settings.navigationFooterEnabled=NO
.
- Sous Android, utilisez
-
Dans Android, vous utilisez
StylingOptions
pour définir l'arrière-plan. et un style de couleurs. Pour masquer ou afficher l'en-tête et pied de page, utilisez les balisessetHeaderEnabled
etsetFooterEnabled
fonctions de membres deNavigationFragment
Sous iOS, utilisez
GMSMapView.settings.navigationHeaderPrimaryBackgroundColor
pour définir le style de la couleur de l'arrière-plan. Masquer ou afficher l'en-tête et le pied de page utilisernavigationFooterEnabled
etnavigationHeaderEnabled
deGMSUISettings
.
Routage
- Puis-je fournir un itinéraire spécifique ? à un conducteur ou supprimer des itinéraires alternatifs ?
- Non. Par défaut, plusieurs routes sont fournies, et la route la plus rapide est prioritaire. Vous pouvez modifier la route par défaut en ajoutant des préférences, comme "Évitez les autoroutes et les péages », à votre demande. L'ajout de points de cheminement affecte également l'itinéraire.
- Puis-je présenter à l'utilisateur de l'application un libellé différent de celui par défaut pour la destination ? lieu de destination ?
-
Oui. Dans Android, créez un
Marker
avec un titre personnalisé pour la destination et la latitude/longitude. La Le SDK Navigation affiche le titre personnalisé et les coordonnées leNavigationMap
.Dans iOS, vous créez et affichez un
GMSMarker
pour la destination. - Puis-je utiliser le SDK Navigation pour suivre les déviations par rapport à un tracé défini ?
-
Oui. Sous Android, utilisez
Navigator.setRouteChangedListener
pour recevoir des notifications lorsqu'un itinéraire change ou qu'un nouvel itinéraire est recommandé:- Enregistrer un écouteur qui vérifie la position de l'appareil tout au long de l'itinéraire
à l'aide de la méthode
Navigator.setRouteChangedListener
. - Ajoutez du code au gestionnaire d'événements de rappel,
onRouteChanged
:- Envoyez un message à l'utilisateur de l'application avec des informations actualisées sur l'heure d'arrivée prévue et la distance.
- Suivez la position de l'appareil.
- [facultatif] Ajouter d'autres fonctionnalités requises par votre application pour la gestion lorsque le conducteur quitte l'itinéraire prescrit.
Dans iOS, utilisez
GMSNavigator
et ses écouteurs pour recevoir des notifications lorsqu'un itinéraire change ou qu'un nouvel itinéraire est recommandé:- Implémentez le
GMSNavigatorListener
dans le contrôleur de vue de la carte. et le protocoleGMSRoadSnappedLocationProviderListener
. - Implémentation
GMSNavigatorListener.navigatorDidChangeRoute
- Accédez à la nouvelle route à l'aide de
routeLegs
et PropriétéscurrentRouteLeg
deGMSNavigator
.
- Enregistrer un écouteur qui vérifie la position de l'appareil tout au long de l'itinéraire
à l'aide de la méthode
-
Oui. Dans Android, appelez la méthode
Navigator.stopGuidance()
pour arrête la navigation.Dans iOS, appelez
GMSNavigator.clearDestinations
.
Simulateur
- Le simulateur est-il compatible avec les modifications d'itinéraires ?
-
Oui. Dans Android, appelez
simulateLocationsAlongNewRoute
pour de simuler un trajet qui comprend un changement d'itinéraire.simulateLocationsAlongExistingRoute
ignore les modifications apportées à la route existante.Sous iOS, utilisez
GMSLocationSimulator.simulateAlongNewRouteToDestinations
. pour simuler un trajet comprenant un changement d'itinéraire. Si vous ne prévoyez pas un changement d'itinéraire, vous pouvez utiliserGMSLocationSimulator.simulateLocationsAlongExistingRoute
ouGMSLocationSimulator.simulateAlongNewRouteToDestinations
Workflows
- Comment ignorer la notification après avoir fermé une activité qui contient une fragment de navigation ?
-
La notification de navigation reste visible pendant la navigation, lorsque l'activité est fermée. Lorsque le véhicule arrive à la navigation s'arrête et la notification disparaît.
Pour gérer les clics sur la notification, utilisez
Navigator.startGuidance(intent resumeIntent)
. Leresume intent
se déclenche lorsque l'utilisateur de l'application clique sur la notification. En règle générale, leNavigator.startguidance(getIntent())
est appelé depuis l'activité principale, qui le rappelle lorsque l'utilisateur de l'application clique sur la notification ;