L'SDK Navigation offre diversi modi per integrare un'esperienza di navigazione nella tua app. Questa pagina spiega che cos'è un'esperienza di navigazione personalizzata e in che modo si differenzia 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 di Google, che consente di incorporare un'esperienza di navigazione passo passo che utilizza elementi ed elementi visivi dell'interfaccia utente forniti da Google, in modo simile 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 con la navigazione in esecuzione solo come processo in background alla proiezione di un'esperienza di guida altamente personalizzata su uno schermo separato dal dispositivo su cui viene eseguita la navigazione. Con un'esperienza di navigazione personalizzata, la tua app chiama l'SDK Navigation per richiedere un feed di navigazione passo passo, quindi fornisci e gestisci gli elementi dell'interfaccia utente e le immagini 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:
Avvia la navigazione. Come per l'esperienza di navigazione di Google, un'esperienza di navigazione personalizzata prevede comunque la creazione di un'istanza di navigazione e l'impostazione della destinazione. Tuttavia, con un'esperienza di navigazione personalizzata, puoi farlo stabilendo prima una sessione di navigazione utilizzando
GMSNavigationService.createNavigationSession
, un oggetto non UI con stato che può funzionare con o senza un visualizzatore. controller.Per ulteriori informazioni, consulta la sezione Dettagli sul feed di dati turn-by-turn.
Guarda la demo: il download dell'SDK Navigation contiene una demo che puoi eseguire per vedere un esempio di un'esperienza di navigazione che passa dalle indicazioni stradali passo passo alla navigazione standard a un'esperienza di navigazione che mostra solo la posizione del dispositivo che si sposta lungo un polilinea stradale.
Navigazione attiva. Ecco un'altra differenza fondamentale tra un'esperienza di navigazione fornita da Google e un'esperienza di navigazione personalizzata. Anziché passare le indicazioni al gestore eventi integrato dell'SDK Navigation, imposta un ascoltatore per le indicazioni stradali dettagliate implementando il protocollo
GMSNavigatorListener
e poi implementa i gestori eventi. In questo modo, la tua esperienza può rispondere agli eventi descritti in Ascoltare gli eventi di navigazione.Interrompi 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 alto livello |
---|---|
Devi fornire indicazioni per i conducenti solo in testo per i piccoli dispositivi, come i veicoli a due ruote. |
Crea il navigatore e configura le indicazioni stradali passo passo come feed di dati su un dispositivo con schermo piccolo mentre il navigatore viene eseguito sul cellulare del conducente al di fuori della sua visuale immediata. |
Vuoi rendere disponibile la tua app come servizio per auto per i conducenti che utilizzano Apple CarPlay |
Per ulteriori informazioni, vedi Attivare la navigazione per CarPlay. |
I conducenti che utilizzano la tua app vogliono una mappa di panoramica per la maggior parte del loro percorso, con indicazioni stradali passo passo minime per le strade cittadine. |
L'app deve consentire ai conducenti di accedere e uscire dall'esperienza di navigazione di Google in base alle proprie esigenze, senza alternare le impostazioni del navigatore per la destinazione e la modalità di viaggio. |