Questions fréquentes

Informations sur le produit

Réseau

Données

Personnalisation de l'interface utilisateur

Routage

Simulateur

Workflows

Informations sur le produit

Votre application doit implémenter une boîte de dialogue contenant la notification des conditions d'utilisation du SDK Navigation que chaque utilisateur doit accepter. Cette boîte de dialogue permet à l'utilisateur d'accepter les conditions d'utilisation. Un fichier texte contenant les conditions est fourni avec le SDK Navigation. Utilisez la méthode NavigationApi.showTermsAndConditionsDialog pour afficher la boîte de dialogue contenant les termes.
Toutes les langues compatibles avec Google Maps pour mobile sont automatiquement disponibles 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. Une fois démarré, le LocationListener continue de s'exécuter en arrière-plan. Votre application continue à ajuster la position de la route et maintient l'orientation.

Oui. Lorsqu'une route est créée ou modifiée, RouteChangeListener fournit des polylignes.

Non, le SDK Navigation ne nécessite pas l'installation de Google Maps Mobile sur l'appareil.
Non, le SDK Navigation ne fournit pas cette fonctionnalité pour le moment.
Oui. Le sens de circulation est disponible et affiché par défaut.
Quelles versions du JDK le SDK Navigation est-il compatible ?
Le SDK Navigation est compatible avec les versions LTS de Java SE qui sont activement prises en charge par Oracle. Ces versions sont listées comme bénéficiant d'une assistance Premier dans la feuille de route d'assistance Oracle Java SE.

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 mises en pré-cache incluent des informations d'itinéraire pendant 15 à 20 minutes, ainsi que des itinéraires alternatifs au cas où l'utilisateur s'écartait de l'itinéraire. Le SDK Navigation détermine la position approximative à l'aide du GPS et des capteurs de l'appareil.
Un mode hors connexion est-il disponible ?
Non, le SDK Navigation ne propose pas de mode hors connexion pour le moment. Toutefois, le SDK fournit des informations mises en pré-cache pour les trajets.

Données

Puis-je récupérer tous les arrêts/destinations d'un trajet avant de le commencer ?

Oui. Pour récupérer l'itinéraire, appelez Navigator.getRouteSegments().

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, l'utilisateur peut parcourir la fiche d'itinéraire 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 ?

Pour fournir des informations sur l'heure d'arrivée prévue aux utilisateurs de l'application, procédez comme suit:

  1. Récupérez la durée et la distance de tous les points de cheminement à l'aide de Navigator.getTimeAndDistanceList().
  2. Transférez ces informations à l'application cliente, comme vous le faites pour l'heure d'arrivée prévue du pilote.
Le RoadSnappedLocationProvider peut-il être utilisé pour obtenir l'emplacement ancré actuel de l'utilisateur si la navigation n'est pas au premier plan ?

Oui. Le RoadSnappedLocationProvider s'exécute en arrière-plan par défaut.

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 à une zone de géorepérage. Il est possible que la zone de géorepérage ne prenne pas en compte la géométrie de la route et qu'elle ne soit pas centrée sur le point exact vers lequel l'utilisateur se dirige.

Vous pouvez obtenir une approximation de cette fonctionnalité à l'aide de remainingTimeOrdistanceChangeListener.

  1. Définissez le seuil pour déterminer la fréquence des rappels.
  2. 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 de 100 m. À mesure que la distance diminue, vous pouvez réduire ce seuil et recevoir des rappels plus fréquents. Examinez ensuite la distance restante pour déterminer si vous êtes suffisamment proche du lieu de prise en charge/dépose.

Puis-je désactiver les notifications lorsque l'application Navigation est exécutée en arrière-plan ?

Oui. 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.

L'enregistreur de transactions suit les prises en charge et les déposes à l'aide d'un identifiant unique, que Google enregistre à des fins d'analyse de produits. Si vous êtes un client Services de mobilité, Google vous recommande d'implémenter NavigationTransactionRecorder pour consigner vos transactions.

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. Utilisez les méthodes suivantes:

  1. Récupérez la durée et la distance de tous les points de cheminement à l'aide de Navigator.getTimeAndDistanceList().
  2. Masquez l'heure d'arrivée prévue du point de cheminement actuel à l'aide de NavigationFragment.setEtaCardEnabled(false).
  3. Affichez l'heure d'arrivée prévue finale.
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 en appelant navigationView.setEtaCardEnabled(false).

Quelles personnalisations de l'interface utilisateur sont disponibles pour les fiches d'en-tête et de pied de page ?

Utilisez StylingOptions pour définir le style de couleur de l'arrière-plan. Pour masquer ou afficher l'en-tête et le pied de page, utilisez les fonctions de membre setHeaderEnabled et setFooterEnabled de NavigationFragment.

Routage

Puis-je fournir un itinéraire spécifique à un utilisateur ou supprimer d'autres itinéraires ?
Non. Par défaut, plusieurs routes sont fournies, et la route la plus rapide est prioritaire. Vous pouvez modifier l'itinéraire par défaut en ajoutant des préférences à votre requête (par exemple, "Éviter les autoroutes et les péages"). 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 de l'emplacement de destination par défaut ?

Oui. Créez une Marker avec un titre personnalisé pour la destination et les coordonnées de latitude/longitude. Le SDK Navigation affiche le titre personnalisé et les coordonnées sur le NavigationMap.

Puis-je utiliser le SDK Navigation pour suivre les déviations par rapport à un tracé défini ?

Oui. Utilisez Navigator.setRouteChangedListener pour recevoir des notifications lorsqu'un itinéraire change ou qu'un nouvel itinéraire est recommandé:

  1. Enregistrez un écouteur qui vérifie la position de l'appareil sur l'itinéraire à l'aide de la méthode Navigator.setRouteChangedListener.
  2. 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] Ajoutez les autres fonctionnalités requises par votre application pour gérer le moment où l'utilisateur quitte l'itinéraire prescrit.
L'utilisateur peut-il quitter la navigation sans terminer l'itinéraire ?

Oui. Appelez la méthode Navigator.stopGuidance() pour arrêter la navigation.

Simulateur

Le simulateur est-il compatible avec les modifications d'itinéraires ?

Oui. Appelez simulateLocationsAlongNewRoute pour simuler un trajet comprenant un changement d'itinéraire. La méthode simulateLocationsAlongExistingRoute ignore les modifications apportées à la route existante.

Workflows

Comment ignorer la notification après avoir fermé une activité contenant un fragment de navigation ?

La notification de navigation reste visible pendant la navigation, lorsque l'activité est fermée. Lorsque le véhicule arrive à destination, la navigation s'arrête et la notification disparaît.

Pour gérer les clics sur la notification, utilisez Navigator.startGuidance(intent resumeIntent). Le resume intent se déclenche lorsque l'utilisateur de l'application clique sur la notification. En règle générale, le Navigator.startguidance(getIntent()) est appelé à partir de l'activité principale, qui rappelle l'activité lorsque l'utilisateur de l'application clique sur la notification.