Esperienza di navigazione personalizzata

L'SDK Navigation offre diversi modi per integrare un'esperienza di navigazione nella tua app. Questa pagina spiega cos'è un'esperienza di navigazione personalizzata e in che modo differisce dalle altre esperienze di navigazione disponibili nell'SDK Navigation.

Che cos'è un'esperienza di navigazione personalizzata?

Il modo principale per implementare l'SDK Navigation è utilizzare l'esperienza di navigazione Google, che ti consente di incorporare un'esperienza di navigazione passo passo che utilizza elementi e immagini dell'interfaccia utente forniti da Google, simili all'esperienza di navigazione all'interno delle app Google Maps. Se hai bisogno di una maggiore flessibilità rispetto a quella offerta dall'esperienza di navigazione di Google, puoi implementare un'esperienza di navigazione personalizzata. Un'esperienza di navigazione personalizzata si riferisce a qualsiasi cosa, dall'eliminazione completa delle indicazioni stradali e all'esecuzione della navigazione solo come processo in background, alla proiezione di un'esperienza di guida altamente personalizzata su uno schermo separato dal dispositivo che esegue la navigazione. Con un'esperienza di navigazione personalizzata, la tua app chiama l'SDK Navigation per richiedere un feed di navigazione dettagliato, quindi fornisci e gestisci gli elementi e le immagini dell'interfaccia utente che l'utente vede nell'esperienza di navigazione. Sebbene l'utilizzo dell'esperienza di navigazione di Google sia generalmente più facile da implementare, la creazione di un'esperienza di navigazione personalizzata consente una maggiore personalizzazione.

Quando crei un'esperienza di navigazione personalizzata, la tua app chiama l'SDK Navigation per avviare, eseguire e interrompere la navigazione, utilizzando il seguente flusso:

  1. Avvia la navigazione. Come per l'esperienza di navigazione di Google, un'esperienza di navigazione personalizzata comporta comunque la creazione di un'istanza di navigazione e l'impostazione della destinazione. Tuttavia, con un'esperienza di navigazione personalizzata, puoi ottenere questo risultato stabilendo prima una sessione di navigazione utilizzando GMSNavigationService.createNavigationSession, un oggetto non UI con stato che può operare con o senza un controller di visualizzazione.

    Per maggiori informazioni, vedi Attivare il feed di dati delle indicazioni stradali passo passo.

    Guarda la demo: il download dell'SDK Navigation contiene una demo che puoi eseguire per vedere un esempio di esperienza di navigazione che passa dalle indicazioni stradali dettagliate tramite la navigazione standard a un'esperienza di navigazione che mostra solo la posizione del dispositivo che si sposta lungo una polilinea stradale.

  2. Navigazione attiva. Ecco un'altra differenza fondamentale tra un'esperienza di navigazione fornita da Google e un'esperienza di navigazione personalizzata. Anziché trasferire le indicazioni al gestore di eventi integrato dell'SDK Navigation, devi attivare il feed delle indicazioni stradali dettagliate e implementare i gestori di eventi. In questo modo, la tua esperienza può rispondere agli eventi descritti in Ascoltare gli eventi di navigazione.

  3. Termina la navigazione. Come per l'esperienza di navigazione di Google, anche la navigazione personalizzata richiede di terminare la navigazione nel modo più adatto all'esperienza dell'app.

Quando potresti utilizzare un'esperienza di navigazione personalizzata?

La tabella seguente descrive alcuni scenari di navigazione personalizzata.

Scenario di esempio

Passaggi di livello avanzato

Devi fornire indicazioni per il conducente solo testuali per i dispositivi di piccole dimensioni, come i veicoli a due ruote.

Crea il tuo navigatore e configura la guida passo passo come feed di dati su un dispositivo con schermo piccolo mentre il navigatore viene eseguito sullo smartphone del conducente al di fuori del suo campo visivo immediato.

Vuoi rendere la tua app disponibile come servizio auto per i conducenti che utilizzano Android Auto.

  1. Configura il servizio auto.
  2. Configura il progetto SDK Navigation.
  3. Crea un navigatore, se non l'hai ancora fatto.
  4. Attiva il feed delle indicazioni stradali passo passo.
  5. Disegna la mappa sulla superficie dell'app per auto e compila i campi dal feed di dati che hai configurato.

Per maggiori informazioni, vedi Attivare la navigazione per Android Auto.

I conducenti che utilizzano la tua app vogliono una mappa panoramica per la maggior parte del viaggio, con indicazioni passo passo minime per le strade cittadine.

La tua app deve consentire ai conducenti di entrare e uscire dall'esperienza di navigazione di Google in base alle loro esigenze, senza alternare le impostazioni del navigatore per destinazione e modalità di viaggio.