Expérience de navigation personnalisée

Le SDK Navigation offre différentes façons d'intégrer une expérience de navigation à votre application. Cette page explique ce qu'est une expérience de navigation personnalisée et en quoi elle diffère des autres expériences de navigation disponibles dans le SDK Navigation.

Qu'est-ce qu'une expérience de navigation personnalisée ?

La principale façon d'implémenter le SDK Navigation consiste à utiliser l'expérience de navigation Google, qui vous permet d'intégrer une expérience de navigation détaillée utilisant des éléments d'interface utilisateur et des éléments visuels fournis par Google, semblables à l'expérience de navigation dans les applications Google Maps. Si vous avez besoin de plus de flexibilité que l'expérience de navigation Google, vous pouvez implémenter une expérience de navigation personnalisée. Une expérience de navigation personnalisée peut aller de la suppression complète des instructions détaillées et de l'exécution de la navigation uniquement en tant que processus en arrière-plan à la projection d'une expérience de guidage hautement personnalisée sur un écran distinct de l'appareil qui exécute la navigation. Avec une expérience de navigation personnalisée, votre application appelle le SDK Navigation pour demander un flux de navigation détaillée, puis vous fournissez et gérez les éléments d'interface utilisateur et les éléments visuels que l'utilisateur voit dans l'expérience de navigation. Bien que l'expérience de navigation Google soit généralement plus facile à implémenter, la création de votre propre expérience de navigation personnalisée offre plus de possibilités de personnalisation.

Lorsque vous créez une expérience de navigation personnalisée, votre application appelle le SDK Navigation pour démarrer, exécuter et arrêter la navigation, en suivant le flux suivant :

  1. Démarrez la navigation. Pour démarrer une expérience de navigation personnalisée, créez une instance de navigation et définissez la destination. Établissez une session de navigation à l'aide de GMSNavigationService.createNavigationSession. Cet objet sans interface utilisateur qui contient l'état fonctionne avec ou sans contrôleur de vue.

    Pour en savoir plus, consultez la section Détails sur le flux de données de navigation détaillée.

    Regardez la démo : le téléchargement du SDK Navigation contient une démo que vous pouvez exécuter pour voir un exemple d'expérience de navigation qui passe de la navigation détaillée via la navigation standard à une expérience de navigation qui n'affiche que la position de l'appareil se déplaçant le long d'une polyligne routière.

  2. Navigation active. Voici une autre différence clé entre une expérience de navigation fournie par Google et une expérience de navigation personnalisée. Au lieu de confier les instructions au gestionnaire d'événements intégré du SDK Navigation, vous configurez un écouteur pour la navigation détaillée en implémentant le protocole GMSNavigatorListener, puis vous implémentez des gestionnaires d'événements. Cela permet à votre expérience de répondre aux événements décrits dans Écouter les événements de navigation.

  3. Arrêter la navigation. Comme pour l'expérience de navigation Google, la navigation personnalisée vous oblige également à arrêter la navigation de la manière la plus adaptée à l'expérience de l'application.

Quand utiliser une expérience de navigation personnalisée ?

Le tableau suivant décrit quelques scénarios de navigation personnalisée.

Exemple de scénario

Étapes de haut niveau

Vous devez fournir des instructions de conduite uniquement textuelles pour les petits appareils tels que les véhicules à deux roues.

Créez votre navigateur et configurez la navigation détaillée sous forme de flux de données sur un petit écran pendant que le navigateur s'exécute sur le téléphone mobile du conducteur en dehors de son champ de vision immédiat.

Vous souhaitez rendre votre application disponible en tant que service automobile pour les conducteurs qui utilisent Apple CarPlay.

  1. Configurez le service automobile.
  2. Configurez votre projet de SDK Navigation.
  3. Établissez un navigateur si ce n'est pas déjà fait.
  4. Configurez un écouteur pour la navigation détaillée.
  5. Dessinez la carte sur la surface de l'application automobile et remplissez les champs à partir du flux de données que vous avez configuré.

Pour en savoir plus, consultez Activer la navigation pour CarPlay.

Les conducteurs qui utilisent votre application souhaitent une carte de présentation pour la majeure partie de leur trajet, avec seulement des instructions détaillées minimales pour les rues de la ville.

Votre application doit permettre aux conducteurs d'accéder à l'expérience de navigation Google et d'en sortir selon leurs besoins, sans modifier les paramètres du navigateur pour la destination et le mode de trajet.