Domande frequenti

Dettagli del prodotto

Rete e connettività

Dati

Personalizzazione della UI

Routing

Simulatore

Workflows

Servizi di mobilità

Dettagli del prodotto

La tua app deve implementare una finestra di dialogo con l'avviso relativo ai Termini di servizio dell'SDK di navigazione che ogni utente deve accettare. Questa finestra di dialogo consente all'utente di accettare i Termini di servizio. Un file di testo dei termini viene fornito con l'SDK Navigation. 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 l'app ha accesso a oltre 70 lingue.

Sì. Una volta avviato, LocationListener continua a essere eseguito in background. L'app continua ad agganciare la posizione alla strada e mantiene la direzione.

Sì. Quando un percorso viene creato o modificato, l'RouteChangeListener fornisce 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 del JDK sono supportate dall'SDK Navigation?
L'SDK Navigation supporta le versioni LTS di Java SE supportate attivamente da Oracle. Queste versioni sono elencate come dotate di Premier Support nella roadmap di assistenza di Oracle Java SE.

Rete e connettività

In che modo l'SDK Navigation gestisce una connessione di rete scadente?
L'SDK Navigation pre-memorizza nella cache il percorso per ogni viaggio. Le informazioni pre-memorizzate nella cache includono informazioni sul percorso per 15-20 minuti e percorsi alternativi nel caso in cui l'utente devii dal percorso. Il Navigation SDK 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 da parte dell'SDK Navigation almeno una volta, verrà visualizzato il messaggio "Ricerca del GPS in corso…" nelle seguenti situazioni:

  • Se sono trascorsi più di 10 secondi dall'ultima volta che ha ricevuto un segnale GPS.
  • Se la posizione di routing si è spostata di oltre 500 m dall'ultima volta che ha ricevuto 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 di spunta, potrebbe rallentare fino ad arrestarsi completamente. In questo caso, il simbolo di direzione 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, ma fornisce informazioni pre-memorizzate nella cache per un percorso.

Dati

Posso recuperare tutte le fermate/destinazioni di un percorso prima di iniziare il viaggio?

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ì. L'SDK Navigation fornisce un elenco di segmenti di percorso. Inoltre, l'utente può scorrere la scheda delle indicazioni stradali nell'intestazione per visualizzare ogni manovra.
In che modo l'orario di arrivo stimato viene comunicato agli utenti dell'app?

Per fornire informazioni sull'orario di arrivo stimato agli utenti dell'app:

  1. Recupera il tempo e la distanza per tutti i waypoint utilizzando Navigator.getTimeAndDistanceList().
  2. Inoltra queste informazioni all'applicazione client come fai per l'orario di arrivo stimato del conducente.
È possibile utilizzare RoadSnappedLocationProvider per ottenere la posizione agganciata corrente dell'utente se la navigazione non è in primo piano?

Sì. RoadSnappedLocationProvider viene eseguito in background per impostazione predefinita.

L'SDK Navigation supporta il geofencing?

No. Nel contesto della navigazione, remainingTimeOrdistanceChangeListener ha un vantaggio rispetto a un geofence. Il recinto virtuale potrebbe non tenere conto della geometria della strada e potrebbe non essere centrato sul punto esatto verso cui l'utente sta navigando.

Puoi approssimare questa funzionalità utilizzando remainingTimeOrdistanceChangeListener.

  1. Imposta la soglia per determinare la frequenza dei callback.
  2. Controlla la distanza rimanente dalla destinazione.

Ad esempio, se imposti la soglia su 100 m, ricevi un callback quando la distanza dalla destinazione cambia di 100 m. Man mano che la distanza diminuisce, puoi aggiornare questa soglia a un valore inferiore e ricevere callback più frequenti. Poi, controlla la distanza rimanente per determinare se sei abbastanza vicino alla località di partenza/arrivo.

Posso disattivare le notifiche quando l'app di navigazione è in background?

Sì. Utilizza Navigator.setHeadsUpNotificationEnabled per controllare le notifiche. Questo metodo ha un argomento booleano. FALSE disattiva le notifiche; TRUE le attiva.

Il registratore delle transazioni monitora i ritiri e le consegne con un ID univoco, che Google registra per l'analisi dei prodotti. Se sei un cliente di Mobility Services, Google ti consiglia di implementare NavigationTransactionRecorder per registrare un record delle tue transazioni.

Personalizzazione della UI

Posso assegnare un codice colore all'opzione di percorso migliore?
No. Al momento non è supportata la codifica a colori di un'opzione di percorso specifica.
L'SDK Navigation può mostrare l'orario di arrivo stimato per la destinazione finale?

Sì. Utilizza i seguenti metodi:

  1. Recupera il tempo e la distanza per tutti i waypoint utilizzando Navigator.getTimeAndDistanceList().
  2. Nascondi l'orario di arrivo stimato del waypoint corrente utilizzando NavigationFragment.setEtaCardEnabled(false).
  3. Esegui il rendering dell'orario di arrivo stimato della destinazione finale.
Come faccio a nascondere gli aggiornamenti sull'orario di arrivo stimato?

Puoi disattivare le schede ETA chiamando il numero navigationView.setEtaCardEnabled(false).

Quali personalizzazioni della UI sono disponibili per le schede di intestazione e piè di pagina?

Utilizza StylingOptions per impostare lo stile del colore di sfondo. Per nascondere o mostrare l'intestazione e il piè di pagina, utilizza le funzioni membro setHeaderEnabled e setFooterEnabled di NavigationFragment.

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". Anche l'aggiunta di tappe intermedie influisce sul percorso.
Posso mostrare all'utente dell'app un'etichetta per la destinazione diversa dalla località di destinazione predefinita?

Sì. Crea un Marker con un titolo personalizzato per la destinazione e la latitudine/longitudine. Navigation SDK mostra il titolo personalizzato e le coordinate su NavigationMap.

Posso utilizzare l'SDK Navigation per monitorare le deviazioni da un percorso definito?

Sì. Utilizza Navigator.setRouteChangedListener per ricevere notifiche quando un percorso cambia o ne viene consigliato uno nuovo:

  1. Registra un listener che controlla la posizione del dispositivo lungo il percorso utilizzando il metodo Navigator.setRouteChangedListener.
  2. Aggiungi il codice al gestore di eventi di callback, onRouteChanged:
    • Invia un messaggio all'utente dell'app con informazioni aggiornate su ora di arrivo stimata e distanza.
    • Monitorare la posizione del dispositivo.
    • [Facoltativo] Aggiungi altre funzionalità richieste dalla tua app per gestire i casi in cui l'utente non si trova sul percorso prescritto.
L'utente può uscire dalla navigazione senza completare il percorso?

Sì. Chiama il metodo Navigator.stopGuidance per interrompere la navigazione.

L'SDK Navigation supporta il routing e la navigazione per camion e veicoli di grandi dimensioni?

Sì. Con il routing dei veicoli di grandi dimensioni (LVR), puoi passare 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 callout del percorso (altezza, peso, materiali pericolosi e limitazioni per i camion) e mantiene il profilo fisico del veicolo durante il cambio percorso dinamico. Per maggiori dettagli, consulta Naviga lungo i percorsi per veicoli di grandi dimensioni.

Simulatore

Il simulatore supporta le modifiche al percorso?

Sì. Chiama simulateLocationsAlongNewRoute per simulare un percorso che include un cambio di percorso. Il metodo simulateLocationsAlongExistingRoute ignora le modifiche al percorso esistente.

Workflows

Come faccio a ignorare 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'evento resume intent viene 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à

In che modo l'utilizzo dell'SDK Navigation è diverso per i clienti di Mobility Services?

I servizi di mobilità di Google Maps Platform offrono una raccolta di API e SDK per supportare le esigenze aziendali delle attività di trasporto e logistica. Per i clienti dei servizi di mobilità, l'SDK di navigazione viene in genere utilizzato insieme ai servizi correlati per l'ottimizzazione dei percorsi, l'invio, il tracker delle attività, l'analisi della flotta e altro ancora. Anche l'SDK Navigation viene fatturato in modo diverso per i clienti di Mobility Services. Per saperne di più, consulta la documentazione relativa ai servizi di mobilità.

I prodotti di mobilità sono attualmente disponibili solo per clienti selezionati. Per ulteriori informazioni, contatta il tuo rappresentante di vendita.

Come faccio a sapere se sono un cliente di Mobility Services?
Se non sai se stai implementando l'SDK di navigazione come cliente di Mobility Services, cerca una chiamata ReportBillableEvent nel tuo codice. Solo i clienti di Mobility Services devono chiamare il metodo ReportBillableEvent.

Come viene fatturato l'SDK Navigation per i clienti di Mobility Services?
Per i clienti di Mobility Services, la fatturazione e i prezzi dell'SDK Navigation dipendono dal contratto di servizio stipulato con Google Maps Platform. Per informazioni su come verificare che la fatturazione dell'implementazione di Mobility Services sia corretta, consulta Convalida della fatturazione. Per ulteriori informazioni sulla fatturazione dei servizi di mobilità, contatta il tuo rappresentante di vendita.

Quali API dell'SDK di navigazione devono essere utilizzate solo dai clienti di Mobility Services?

Nell'SDK di navigazione sono presenti diverse API destinate esclusivamente ai clienti di Mobility Services, ai quali Google addebita i costi in base alle transazioni. Se non sei un cliente di Mobility Services, i seguenti metodi non eseguono operazioni:

Se sono un cliente di Mobility Services, posso utilizzare anche un'implementazione dell'SDK Navigation non di Mobility Services?

Sì, i clienti di Mobility Services possono utilizzare sia le implementazioni di Mobility Services sia quelle non di 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 account di fatturazione e una 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 ulteriori informazioni sull'utilizzo di un'implementazione dell'SDK Navigation non basata su Mobility Services, 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 vuoi saperne di più sulla raccolta di API e SDK di Mobility Services, contatta il team di vendita di Google Maps Platform.