Domande frequenti
Dettagli del prodotto
- Come deve essere mostrato l'avviso relativo ai Termini di servizio dell'SDK Navigation?
- Quali lingue supporta la guida vocale?
- L'orientamento viene mantenuto quando l'utente esce dalla modalità di navigazione?
- Le polilinee sono disponibili quando si inizia o si modifica un percorso?
- Gli utenti dell'app devono avere installato Google Maps Mobile?
- L'SDK Navigation può identificare i parcheggi vicino a ristoranti e altre destinazioni?
- L'SDK Navigation mostra la direzione del traffico nelle corsie quando ci si avvicina a un punto di svolta?
- Quali versioni di JDK supporta l'SDK Navigation?
Rete e connettività
- In che modo l'SDK Navigation gestisce la connettività di rete scadente?
- In che modo l'SDK Navigation gestisce i segnali GPS deboli o persi?
- È disponibile una modalità offline?
Dati
- Posso recuperare tutte le fermate/destinazioni di un viaggio prima di iniziare l'itinerario?
- Le indicazioni stradali passo passo sono disponibili all'inizio di un percorso?
- Come viene comunicato l'orario di arrivo stimato (ETA) agli utenti dell'app?
- È possibile utilizzare
RoadSnappedLocationProviderper ottenere la posizione attuale dell'utente se la navigazione non è in primo piano? - L'SDK Navigation supporta il geofencing?
- Posso disattivare le notifiche quando l'app Navigazione è in background?
- Come faccio a visualizzare il log delle transazioni conservato da Google?
Personalizzazione della UI
- Posso assegnare un codice colore all'opzione di percorso migliore?
- L'SDK Navigation può mostrare l'orario di arrivo stimato per la destinazione finale?
- Come faccio a nascondere gli aggiornamenti dell'ETA?
- Quali personalizzazioni della UI sono disponibili per le schede di intestazione e piè di pagina?
Routing
- Posso fornire un percorso specifico a un utente o rimuovere percorsi alternativi?
- Posso mostrare all'utente un'etichetta diversa per la destinazione rispetto alla posizione di destinazione predefinita?
- Posso utilizzare l'SDK per la navigazione per monitorare le deviazioni da un percorso definito?
- L'utente può uscire dalla navigazione senza completare il percorso?
- L'SDK Navigation supporta il routing e la navigazione per camion e veicoli di grandi dimensioni?
Simulatore
Workflows
Servizi di mobilità
- In che modo l'utilizzo dell'SDK Navigation è diverso per i clienti di Mobility Services?
- Come faccio a sapere se sono un cliente di Mobility Services?
- Come viene fatturato l'SDK Navigation per i clienti di servizi di mobilità?
- Quali API dell'SDK Navigation devono essere utilizzate solo dai clienti di servizi di mobilità?
- Se sono un cliente di Mobility Services, posso utilizzare anche un'implementazione non Mobility Services dell'SDK Navigation?
Dettagli del prodotto
-
La tua app deve implementare una finestra di dialogo con l'avviso dei Termini di servizio dell'SDK Navigation che ogni utente deve accettare. Questa finestra di dialogo offre all'utente
l'opportunità di accettare i Termini di servizio. Un file di testo dei
termini viene fornito con l'SDK Navigation.
Utilizza il metodo
NavigationApi.showTermsAndConditionsDialogper visualizzare la finestra di dialogo contenente i termini. - Tutte le lingue supportate da Google Maps Mobile sono disponibili automaticamente per l'SDK Navigation. Un dispositivo ha una lingua di sistema predefinita e un'app non può modificare questa impostazione. Tuttavia, l'app ha accesso a oltre 70 lingue.
-
Sì. Una volta avviato,
LocationListenercontinua a essere eseguito in background. La tua app continua a posizionare la posizione sulla strada e mantiene la direzione. -
Sì. Quando una route viene creata o modificata,
RouteChangeListenerfornisce polilinee. - No, l'SDK Navigation non richiede l'installazione di Google Maps Mobile sul dispositivo.
- No, l'SDK Navigation non fornisce questa funzionalità al momento.
- Sì. La direzione del traffico è disponibile e visualizzata per impostazione predefinita.
- Quali versioni di JDK supporta l'SDK Navigation?
- L'SDK Navigation supporta le versioni LTS di Java SE supportate attivamente da Oracle. Queste versioni sono elencate come Premier Support nella roadmap di supporto di Oracle Java SE.
Rete e connettività
- In che modo l'SDK Navigation gestisce la connettività di rete scarsa?
- L'SDK Navigation memorizza nella cache in anticipo il percorso per ogni viaggio. Le informazioni memorizzate nella cache includono le informazioni di routing per 15-20 minuti e le alternative di percorso nel caso in cui l'utente si discosti dal percorso. L'SDK Navigation approssima la posizione utilizzando il GPS e i sensori del dispositivo.
- In che modo l'SDK Navigation gestisce i segnali GPS deboli o persi?
-
Dopo l'avvio della navigazione e la ricezione di un segnale GPS almeno una volta, l'SDK Navigation visualizza il messaggio "Ricerca del GPS in corso…" nelle seguenti situazioni:
- Se sono trascorsi più di 10 secondi dall'ultima ricezione di un segnale GPS.
- Se la posizione di routing si è spostata di oltre 500 metri dall'ultima ricezione di un segnale GPS.
Se l'SDK non riceve un segnale GPS per un periodo di tempo prolungato, l'avanzamento lungo il percorso, indicato nell'app dalla posizione del simbolo ">", potrebbe rallentare fino a fermarsi completamente. In questo caso, il simbolo a V sulla mappa rimarrà nella posizione indicata dall'ultimo segnale GPS. L'SDK non uscirà automaticamente dalla modalità di navigazione se non riceve un segnale GPS. Tuttavia, potrebbe non essere in grado di fornire indicazioni finché non riceve nuovamente un segnale.
- È disponibile una modalità offline?
- No, al momento l'SDK Navigation non offre una modalità offline. Tuttavia, l'SDK fornisce informazioni pre-memorizzate nella cache per un viaggio.
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(). - Le indicazioni stradali passo passo sono disponibili all'inizio di un percorso?
- Sì. Navigation SDK fornisce un elenco di segmenti di itinerario. Inoltre, l'utente può scorrere la scheda delle indicazioni 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 tutti i waypoint utilizzando
Navigator.getTimeAndDistanceList(). - Inoltra queste informazioni all'applicazione client come fai per l'ETA dell'autista.
- Recupera il tempo e la distanza per tutti i waypoint utilizzando
-
È possibile utilizzare
RoadSnappedLocationProviderper ottenere la posizione attuale dell'utente se la navigazione non è in primo piano? -
Sì.
RoadSnappedLocationProviderviene eseguito in background per impostazione predefinita. - L'SDK Navigation supporta il geofencing?
-
No. Nel contesto della navigazione,
remainingTimeOrdistanceChangeListenerha un vantaggio rispetto a un recinto virtuale. Il recinto virtuale potrebbe non tenere conto della geometria stradale e potrebbe non essere centrato sul punto esatto verso cui l'utente sta navigando.Puoi approssimare questa funzionalità utilizzando
remainingTimeOrdistanceChangeListener.- Imposta la soglia per determinare la frequenza dei callback.
- Controlla la distanza rimanente dalla destinazione.
Ad esempio, se imposti la soglia su 100 metri, ricevi un callback quando la distanza dalla destinazione cambia di 100 metri. Man mano che la distanza diminuisce, puoi aggiornare questa soglia a un valore inferiore e ricevere callback più frequenti. Dopodiché, controlla la distanza rimanente per determinare se sei abbastanza vicino al punto di partenza/arrivo.
- Posso disattivare le notifiche quando l'app Navigazione è in background?
-
Sì. Utilizza
Navigator.setHeadsUpNotificationEnabledper controllare le notifiche. Questo metodo ha un argomento booleano.FALSEdisattiva le notifiche;TRUEattiva le notifiche. -
Il registratore delle transazioni monitora i ritiri e le consegne con un ID univoco, che Google registra a fini di analisi del prodotto. Se sei un cliente di Servizi di mobilità, Google ti consiglia di implementare
NavigationTransactionRecorderper registrare un record delle tue transazioni.
Personalizzazione della UI
- Posso assegnare un codice colore all'opzione di percorso migliore?
- No. Al momento, la codifica a colori di un'opzione di percorso specifica non è supportata.
- L'SDK Navigation può mostrare l'orario di arrivo stimato per la destinazione finale?
-
Sì. Utilizza i seguenti metodi:
- Recupera il tempo e la distanza per tutti i waypoint utilizzando
Navigator.getTimeAndDistanceList(). - Nascondi l'orario di arrivo stimato del waypoint attuale utilizzando
NavigationFragment.setEtaCardEnabled(false). - Visualizzare l'orario di arrivo stimato della destinazione finale.
- Recupera il tempo e la distanza per tutti i waypoint utilizzando
- Come faccio a nascondere gli aggiornamenti dell'orario di arrivo stimato?
-
Puoi disattivare le schede dell'ETA chiamando il numero
navigationView.setEtaCardEnabled(false). -
Utilizza
StylingOptionsper impostare lo stile del colore di sfondo. Per nascondere o mostrare l'intestazione e il piè di pagina, utilizza le funzioni membrosetHeaderEnabledesetFooterEnableddiNavigationFragment.
Routing
- Posso fornire un percorso specifico a un utente o rimuovere percorsi alternativi?
- No. Per impostazione predefinita, vengono forniti più percorsi e il percorso più veloce ha la priorità. Puoi influire sull'itinerario predefinito aggiungendo preferenze, ad esempio "evita autostrade e pedaggi", alla tua richiesta. L'aggiunta di waypoint influisce anche sul percorso.
- Posso mostrare all'utente dell'app un'etichetta diversa per la destinazione rispetto alla posizione di destinazione predefinita?
-
Sì. Crea un
Markercon un titolo personalizzato per la destinazione e la latitudine/longitudine. L'SDK Navigation mostra il titolo personalizzato e le coordinate suNavigationMap. - Posso utilizzare l'SDK Navigation per monitorare le deviazioni da un percorso definito?
-
Sì. Utilizza
Navigator.setRouteChangedListenerper 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 l'orario di arrivo stimato e le informazioni sulla distanza aggiornate.
- Tracciare la posizione del dispositivo.
- [facoltativo] Aggiungi altre funzionalità richieste dalla tua app da gestire quando l'utente non si trova sul percorso prescritto.
- Registra un listener che controlla la posizione del dispositivo lungo il percorso
utilizzando il metodo
-
Sì. Chiama il metodo
Navigator.stopGuidanceper interrompere la navigazione. - L'SDK Navigation supporta la pianificazione del percorso e la navigazione per camion e veicoli di grandi dimensioni?
-
Sì. Con il routing per veicoli di grandi dimensioni (LVR), puoi trasmettere all'SDK Navigation i token di percorso specifici per i camion generati dall'API Routes o dall'API Route Optimization. L'SDK fornisce la navigazione passo passo con indicazioni stradali (limitazioni di altezza, peso, materiali pericolosi e autocarri) e mantiene il profilo fisico del veicolo durante il ricalcolo dinamico del percorso. Per maggiori dettagli, vedi Navigare su itinerari per veicoli di grandi dimensioni.
Simulatore
- Il simulatore supporta le modifiche dell'itinerario?
-
Sì. Chiama
simulateLocationsAlongNewRouteper simulare un viaggio che include un cambio di percorso. Il metodosimulateLocationsAlongExistingRouteignora le modifiche all'itinerario esistente.
Workflows
- Come faccio a chiudere la notifica dopo aver chiuso un'attività che contiene 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'intentresume intentviene attivato 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.
Servizi di mobilità
Google Maps Platform Mobility Services offre una raccolta di API e SDK per supportare le esigenze delle aziende di trasporto e logistica. Per i clienti di Mobility Services, l'SDK Navigation viene in genere utilizzato insieme a servizi correlati per l'ottimizzazione dei percorsi, la pianificazione, il monitoraggio delle attività, l'analisi della flotta e altro ancora. L'SDK Navigation viene fatturato in modo diverso anche per i clienti di Mobility Services. Per saperne di più, consulta la documentazione di Mobility Services.
I prodotti per la mobilità sono attualmente disponibili solo per clienti selezionati. Contatta il tuo rappresentante di vendita per saperne di più.
ReportBillableEvent nel tuo codice. Solo i clienti di Mobility Services devono chiamare il metodo ReportBillableEvent.
Nell'SDK Navigation sono presenti diverse API destinate esclusivamente all'utilizzo da parte dei clienti di servizi di mobilità, a cui Google addebita i costi in base al numero di transazioni. Se non sei un cliente di Mobility Services, i seguenti metodi sono autonomi:
Sì, i clienti di Mobility Services possono utilizzare sia le implementazioni di Mobility Services sia quelle non Mobility Services dell'SDK Navigation. Tuttavia, puoi utilizzare un solo tipo di implementazione in un'app alla volta. Devi anche creare un nuovo progetto Google Cloud, un nuovo account di fatturazione e una nuova chiave API, separati da quelli che utilizzi con l'implementazione di Mobility Services. Per saperne di più, consulta la panoramica della configurazione dell'SDK Navigation.
Per saperne di più sull'utilizzo di un'implementazione non Mobility Services dell'SDK Navigation, inclusa la migrazione di un'app da un tipo di implementazione all'altro, contatta il tuo rappresentante Google per l'account.
Nota: se al momento non sei un cliente di Mobility Services e ti interessa saperne di più sulla raccolta di API e SDK di Mobility Services, contatta il team di vendita di Google Maps Platform.