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 est d'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 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 de navigation et de l'exécution de la navigation uniquement en tant que processus en arrière-plan, à la projection d'une expérience de navigation 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 guidé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'utilisation de 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 permet une plus grande 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. Comme pour l'expérience de navigation Google, une expérience de navigation personnalisée implique toujours la création d'une instance de navigation et la définition de la destination. Toutefois, avec une expérience de navigation personnalisée, vous y parvenez en établissant d'abord une session de navigation à l'aide de GMSNavigationService.createNavigationSession, qui est un objet sans UI avec état qui peut fonctionner avec ou sans contrôleur de vue.

    Pour en savoir plus, consultez Détails sur le flux de données d'instructions vocales.

    Voir 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 bascule entre le guidage vocal détaillé via la navigation standard et 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 essentielle 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 obtenir des instructions détaillées, étape par étape, 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êtez la navigation. Comme pour l'expérience de navigation Google, la navigation personnalisée nécessite également que vous mettiez fin à la navigation de la manière la mieux adaptée à l'expérience de l'application.

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

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

Exemple de scénario

Étapes générales

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

Créez votre navigateur et configurez les instructions détaillées comme flux de données sur un appareil à petit écran, tandis que le navigateur s'exécute sur le téléphone mobile du conducteur, hors 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 SDK Navigation.
  3. Établissez un navigateur si vous ne l'avez pas déjà fait.
  4. Configurez un écouteur pour le guidage détaillé.
  5. Dessinez la carte sur la surface de l'application automobile et renseignez 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 générale pour la majeure partie de leur trajet, avec un guidage détaillé minimal 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.