Le SDK Navigation propose différentes façons d'intégrer une expérience de navigation à votre application. Cette page explique en quoi consiste 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 ?
Le principal moyen 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 qui utilise des éléments d'interface utilisateur et des visuels fournis par Google, semblable à 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 l'élimination complète de la navigation par virage 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 de navigation pour demander un flux de navigation par étapes, puis vous fournissez et gérez les éléments d'interface utilisateur et les 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:
Démarrez la navigation. Comme pour l'expérience de navigation Google, une expérience de navigation personnalisée implique toujours de créer une instance de navigation et de définir la destination. Toutefois, avec une expérience de navigation personnalisée, vous devez d'abord établir une session de navigation à l'aide de
GMSNavigationService.createNavigationSession
, qui est un objet non-UI portant un état pouvant fonctionner avec ou sans contrôleur de vue.Pour en savoir plus, consultez Détails sur le flux de données de navigation.
Voir la démonstration:le téléchargement du SDK Navigation contient une démonstration que vous pouvez exécuter pour voir un exemple d'expérience de navigation qui bascule entre les instructions détaillées via la navigation standard et une expérience de navigation qui n'affiche que l'emplacement de l'appareil se déplaçant le long d'une polyligne de route.
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 transmettre les instructions au gestionnaire d'événements intégré du SDK Navigation, vous configurez un écouteur pour obtenir des instructions détaillées de navigation en implémentant le protocole
GMSNavigatorListener
, puis implémentez des gestionnaires d'événements. Cela permet à votre expérience de répondre aux événements décrits dans la section Écouter les événements de navigation.Arrêtez la navigation. Comme pour l'expérience de navigation Google, la navigation personnalisée vous oblige également à mettre fin à la navigation de la manière la plus adaptée à l'expérience de l'application.
Quand pouvez-vous 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 au conducteur sous forme de texte uniquement 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 proposer votre application en tant que service de voiture pour les conducteurs qui utilisent Apple CarPlay. |
Pour en savoir plus, consultez Activer la navigation pour CarPlay. |
Les conducteurs qui utilisent votre application veulent une carte d'ensemble pour la majeure partie de leur trajet, avec un guidage détaillé minimal pour les rues urbaines. |
Votre application doit permettre aux conducteurs d'accéder et de quitter l'expérience de navigation Google selon leurs besoins, sans modifier les paramètres du navigateur pour la destination et le mode de trajet. |