Domande frequenti
Dettagli del prodotto
- Come deve essere visualizzata la notifica dei Termini di servizio dell'SDK di navigazione?
- Quali lingue supporta la guida vocale?
- L'orientamento viene mantenuto quando l'utente esce dalla modalità di navigazione?
- Le polilinee sono disponibili quando si avvia o si modifica un percorso?
- Gli utenti dell'app devono aver installato Google Maps per dispositivi mobili?
- L'SDK di navigazione riesce a identificare i parcheggi vicino a ristoranti e altre destinazioni?
- L'SDK di navigazione mostra la direzione del traffico sulle corsie quando ci si avvicina a un punto di svolta?
- Quali versioni del JDK sono supportate dall'SDK di navigazione?
Rete
- In che modo l'SDK di navigazione gestisce una connettività scarsa?
- È disponibile una modalità offline?
Dati
- Posso recuperare tutte le fermate/destinazioni di un viaggio prima di iniziare il percorso?
- È disponibile una guida passo passo all'inizio di un percorso?
- Come viene comunicato agli utenti dell'app l'orario di arrivo stimato (ETA)?
- È possibile utilizzare
RoadSnappedLocationProvider
per ottenere la posizione attuale dell'utente agganciata se la navigazione non è in primo piano? - L'SDK di navigazione supporta il geofencing?
- Posso disattivare le notifiche quando l'app Navigazione è in background?
- Come faccio a visualizzare il log delle transazioni conservate da Google?
Personalizzazione dell'interfaccia utente
- Posso assegnare un codice colore all'opzione di percorso migliore?
- L'SDK di navigazione può mostrare l'orario di arrivo stimato per la destinazione finale?
- Come faccio a nascondere gli aggiornamenti dell'orario di arrivo stimato?
- Quali personalizzazioni dell'interfaccia utente sono disponibili per le schede di intestazione e piè di pagina?
Routing
- Posso fornire a un utente un percorso specifico o rimuovere percorsi alternativi?
- Posso mostrare all'utente un'etichetta diversa per la destinazione rispetto alla località di destinazione predefinita?
- Posso utilizzare l'SDK di navigazione per monitorare le deviazioni da un percorso definito?
- L'utente può uscire dalla navigazione senza completare il percorso?
Simulatore
Workflows
Dettagli del prodotto
-
L'app deve implementare una finestra di dialogo con la notifica dei Termini di servizio dell'SDK di navigazione che ogni utente deve accettare. Questa finestra di dialogo offre all'utente la possibilità di accettare i Termini di servizio. Insieme all'SDK di navigazione viene fornito un file di testo dei termini.
Utilizza il metodo
NavigationApi.showTermsAndConditionsDialog
per visualizzare la finestra di dialogo contenente i termini. - Tutte le lingue supportate da Google Maps Mobile sono automaticamente disponibili per l'SDK di navigazione. Un dispositivo ha una lingua di sistema predefinita e un'app non può modificare questa impostazione, ma ha accesso a oltre 70 lingue.
-
Sì. Una volta avviata, l'istanza
LocationListener
continua a essere eseguita in background. L'app continua ad agganciare la posizione e mantiene l'orientamento. -
Sì. Quando una route viene creata o modificata,
RouteChangeListener
fornisce le polilinee. - No, l'SDK di navigazione non richiede l'installazione di Google Maps Mobile sul dispositivo.
- No, al momento l'SDK di navigazione non fornisce questa funzionalità.
- Sì. La direzione del traffico è disponibile e visualizzata per impostazione predefinita.
- Quali versioni del JDK sono supportate dall'SDK di navigazione?
- L'SDK di navigazione supporta le versioni LTS di Java SE supportate attivamente da Oracle. Queste versioni sono indicate come con Assistenza Premier nella Roadmap del supporto per Oracle Java SE.
Rete
- In che modo l'SDK di navigazione gestisce una connettività scadente?
- L'SDK di navigazione prememorizza il percorso per ogni percorso. Le informazioni prememorizzate nella cache includono informazioni di percorso per 15-20 minuti e alternative di routing nel caso in cui l'utente si disconnetta dal percorso. L'SDK di navigazione calcola la posizione approssimativa utilizzando il GPS del dispositivo e i sensori.
- È disponibile una modalità offline?
- No, l'SDK di navigazione non offre una modalità offline al momento; tuttavia, l'SDK fornisce informazioni pre-memorizzate nella cache per un percorso.
Dati
- Posso recuperare tutte le fermate/destinazioni di un viaggio prima di iniziare il percorso?
-
Sì. Per recuperare le indicazioni stradali per un percorso, chiama
Navigator.getRouteSegments()
. - È disponibile la guida passo passo all'inizio di un percorso?
- Sì. L'SDK di navigazione fornisce un elenco di segmenti di percorso. Inoltre, l'utente può scorrere la scheda delle indicazioni stradali nell'intestazione per visualizzare ogni manovra.
- Come viene comunicato l'orario di arrivo stimato agli utenti dell'app?
-
Per fornire informazioni sull'orario di arrivo stimato agli utenti dell'app:
- Recupera il tempo e la distanza per tutte le tappe utilizzando
Navigator.getTimeAndDistanceList()
. - Inoltra queste informazioni all'applicazione client come fai per l'orario di arrivo stimato del driver.
- Recupera il tempo e la distanza per tutte le tappe utilizzando
-
È possibile utilizzare
RoadSnappedLocationProvider
per ottenere la posizione attuale dell'utente agganciata se la navigazione non è in primo piano? -
Sì.
RoadSnappedLocationProvider
viene eseguito in background per impostazione predefinita. - L'SDK di navigazione supporta il geofencing?
-
No. Nel contesto della navigazione,
remainingTimeOrdistanceChangeListener
ha un vantaggio rispetto al recinto virtuale. Il recinto virtuale potrebbe non tenere conto della geometria della strada e potrebbe non essere centrato sul punto esatto verso cui si sta dirigendo l'utente.Puoi approssimare questa funzionalità utilizzando
remainingTimeOrdistanceChangeListener
.- Imposta la soglia per determinare la frequenza dei callback.
- Controlla la distanza rimanente per raggiungere la destinazione.
Ad esempio, se imposti la soglia su 100 m, ricevi una richiamata quando la distanza dalla destinazione cambia di 100 m. Man mano che la distanza diminuisce, puoi aggiornare questa soglia impostando un valore inferiore e ricevere più frequenti chiamate. Quindi, controlla la distanza rimanente per determinare se sei abbastanza vicino al punto di partenza/arrivo.
- Posso disattivare le notifiche quando l'app di navigazione è in background?
-
Sì. Usa
Navigator.setHeadsUpNotificationEnabled
per controllare le notifiche. Questo metodo ha un argomento booleano.FALSE
disattiva le notifiche;TRUE
attiva le notifiche. -
Il registratore delle transazioni monitora gli spostamenti e gli abbandoni con un ID univoco, che Google registra per scopi di analisi dei prodotti. Se sei un cliente di Servizi per la mobilità, Google ti consiglia di implementare
NavigationTransactionRecorder
per registrare un record delle tue transazioni.
Personalizzazione dell'interfaccia utente
- Posso assegnare un codice colore all'opzione di percorso migliore?
- No. Al momento la codifica con colori di un'opzione di percorso specifica non è supportata.
- L'SDK di navigazione può mostrare l'orario di arrivo stimato per la destinazione finale?
-
Sì. Utilizza i seguenti metodi:
- Recupera il tempo e la distanza per tutte le tappe utilizzando
Navigator.getTimeAndDistanceList()
. - Nascondi l'orario di arrivo stimato della tappa corrente utilizzando
NavigationFragment.setEtaCardEnabled(false)
. - Visualizza l'orario di arrivo stimato finale.
- Recupera il tempo e la distanza per tutte le tappe utilizzando
- Come faccio a nascondere gli aggiornamenti dell'orario di arrivo stimato?
-
Puoi disattivare le schede dell'orario di arrivo stimato chiamando il numero
navigationView.setEtaCardEnabled(false)
. -
Utilizza
StylingOptions
per impostare lo stile dei colori di sfondo. Per nascondere o mostrare l'intestazione e il piè di pagina, utilizza le funzioni per i membrisetHeaderEnabled
esetFooterEnabled
diNavigationFragment
.
Routing
- Posso fornire un percorso specifico a un utente o rimuovere percorsi alternativi?
- No. Per impostazione predefinita, vengono forniti più percorsi e quello più veloce ha la priorità. Puoi modificare il percorso predefinito aggiungendo alla richiesta preferenze come "evita autostrade e pedaggi". L'aggiunta di tappe influisce anche sul percorso.
- Posso mostrare all'utente dell'app un'etichetta diversa per la destinazione rispetto alla località di destinazione predefinita?
-
Sì. Crea un
Marker
con un titolo personalizzato per la destinazione e la latitudine/longitudine. L'SDK di navigazione mostra il titolo personalizzato e le coordinate suNavigationMap
. - Posso utilizzare l'SDK di navigazione per monitorare le deviazioni da un percorso definito?
-
Sì. Utilizza
Navigator.setRouteChangedListener
per ricevere notifiche quando un percorso cambia o viene consigliato un nuovo percorso:- Registra un listener che controlla la posizione del dispositivo lungo il percorso utilizzando il metodo
Navigator.setRouteChangedListener
. - Aggiungi il codice al gestore di eventi di callback
onRouteChanged
:- Invia un messaggio all'utente dell'app con informazioni aggiornate su orario di arrivo stimato e distanza.
- Monitora la posizione del dispositivo.
- [Facoltativo] Aggiungi altre funzionalità richieste dall'app per gestire quando l'utente deve abbandonare il percorso prescritto.
- Registra un listener che controlla la posizione del dispositivo lungo il percorso utilizzando il metodo
-
Sì. Chiama il metodo
Navigator.stopGuidance()
per interrompere la navigazione.
Simulatore
- Il simulatore supporta i cambi di percorso?
-
Sì. Chiama
simulateLocationsAlongNewRoute
per simulare un viaggio che include una modifica del percorso. Il metodosimulateLocationsAlongExistingRoute
ignora le modifiche alla route esistente.
Workflows
- Come faccio a ignorare la notifica dopo aver chiuso un'attività contenente un frammento di navigazione?
-
La notifica di navigazione rimane visibile durante la navigazione, quando l'attività è chiusa. Quando il veicolo arriva a destinazione, la navigazione si interrompe e la notifica scompare.
Per gestire i clic sulla notifica, utilizza
Navigator.startGuidance(intent resumeIntent)
. L'eventoresume intent
si attiva quando l'utente dell'app fa clic sulla notifica. In genere,Navigator.startguidance(getIntent())
viene chiamato dall'attività principale, che richiama l'attività quando l'utente dell'app fa clic sulla notifica.