Con Maps SDK for Android, puoi personalizzare il modo in cui gli utenti possono interagire con la mappa, stabilendo quali componenti dell'interfaccia utente integrati vengono visualizzati sulla mappa e quali gesti sono consentiti.
Esempi di codice
Il repository ApiDemos su GitHub include un esempio che illustra l'utilizzo delle opzioni di controllo e gesto:
- UiSettingsDemoActivity: esempio di Kotlin
- UiSettingsDemoActivity: esempio Java
Modalità Lite per un'interazione utente minima
Se vuoi una mappa leggera con un'interazione utente minima, valuta la possibilità di utilizzare una mappa in modalità Lite. La modalità Lite offre un'immagine bitmap di una mappa a una posizione e a un livello di zoom specifici. In modalità Lite, gli utenti non possono eseguire la panoramica o lo zoom della mappa e i gesti non funzionano. Per maggiori dettagli, consulta la guida alla modalità Lite.
Controlli UI
L'API di Google Maps offre controlli integrati dell'interfaccia utente simili a quelli disponibili nell'applicazione Google Maps sul tuo smartphone Android. Puoi attivare/disattivare la visibilità di questi controlli utilizzando la classe UiSettings
, che può essere ottenuta da un GoogleMap
con il metodo GoogleMap.getUiSettings
. Le modifiche apportate a questo corso vengono immediatamente riportate sulla mappa. Per
un esempio di queste funzionalità, dai un'occhiata all'attività demo delle impostazioni della UI
nell'applicazione di esempio.
Puoi anche configurare la maggior parte di queste opzioni quando la mappa viene creata tramite attributi XML o utilizzando la classe GoogleMapOptions
. Per ulteriori dettagli, consulta Configurazione dello stato iniziale.
Ogni controllo UI ha una posizione predeterminata rispetto al bordo della mappa.
Puoi spostare i controlli dal bordo superiore, inferiore, sinistro o destro aggiungendo una spaziatura interna all'oggetto GoogleMap
.
Controlli di zoom
L'API Maps fornisce controlli di zoom integrati che vengono visualizzati nell'angolo
in basso a destra della mappa. Queste sono disattivate per impostazione predefinita, ma possono essere
attivate chiamando il numero UiSettings.setZoomControlsEnabled(true)
.
Bussola
L'API Maps fornisce un'immagine bussola, che in determinate circostanze viene visualizzata nell'angolo in alto a sinistra della mappa. La bussola compare solo quando la fotocamera è orientata in modo da avere un orientamento diverso da zero o un'inclinazione diversa da zero. Quando l'utente fa clic sulla bussola, l'animazione della fotocamera ritorna
in una posizione con orientamento e inclinazione pari a zero (l'orientamento predefinito)
e poco dopo la bussola si attenua. Per disattivare la visualizzazione della bussola,
puoi richiamare UiSettings.setCompassEnabled(boolean)
.
Tuttavia, non puoi forzare la visualizzazione della bussola.
Pulsante La mia posizione
Il pulsante La mia posizione viene visualizzato nell'angolo in alto a destra dello schermo solo quando il livello La mia posizione è attivato. Per maggiori dettagli, consulta la guida ai dati sulla posizione.
Selettore livello
Per impostazione predefinita, un selettore di livelli (selettore del piano) appare vicino al bordo destro centrale dello schermo quando l'utente visualizza una mappa di interni. Quando sono visibili due o più mappe di interni, il selettore dei livelli viene applicato all'edificio attualmente a fuoco, che in genere è quello più vicino al centro dello schermo. Ogni edificio ha un livello predefinito che viene selezionato quando viene visualizzato per la prima volta il selettore. Gli utenti possono scegliere un livello diverso selezionandolo dal selettore.
Puoi disattivare o attivare il controllo del selettore dei livelli richiamando
GoogleMap.getUiSettings().setIndoorLevelPickerEnabled(boolean)
.
Questo è utile se vuoi sostituire il selettore di livelli predefinito con il tuo.
Barra degli strumenti della mappa
Per impostazione predefinita, viene visualizzata una barra degli strumenti in basso a destra nella mappa quando un utente tocca un indicatore. La barra degli strumenti consente all'utente di accedere rapidamente all'app mobile Google Maps.
Puoi attivare e disattivare la barra degli strumenti richiamando
UiSettings.setMapToolbarEnabled(boolean)
.
In una mappa in modalità Lite, la barra degli strumenti persiste, indipendentemente dalle azioni dell'utente. In una mappa completamente interattiva, la barra degli strumenti viene visualizzata quando l'utente tocca un indicatore e scorre di nuovo quando l'indicatore non è più a fuoco.
La barra degli strumenti mostra icone che forniscono l'accesso a una visualizzazione mappa o a una richiesta di indicazioni stradali nell'app mobile Google Maps. Quando un utente tocca un'icona nella barra degli strumenti, l'API crea un intent per avviare l'attività corrispondente nell'app mobile Google Maps.
Nello screenshot sopra, la barra degli strumenti è visibile in basso a destra della mappa. Sulla mappa non verranno visualizzate una o entrambe le icone di intent, a seconda dei contenuti della mappa e a condizione che l'app mobile Google Maps supporti l'intent finale.
Gesti sulla mappa
Una mappa creata con Maps SDK for Android supporta gli stessi gesti dell'applicazione Google Maps. Tuttavia, potrebbero verificarsi situazioni in cui potresti voler disattivare determinati gesti per preservare lo stato della mappa. Zoom, panoramica, inclinazione e orientamento possono anche essere impostati in modo programmatico. Consulta Fotocamera e visualizzazione per ulteriori dettagli. Tieni presente che la disattivazione dei gesti non influisce sulla possibilità o meno di modificare la posizione della fotocamera in modo programmatico.
Come con i controlli UI, puoi attivare/disattivare i gesti con la classe UiSettings
, che puoi ottenere da GoogleMap
chiamando GoogleMap.getUiSettings
. Le modifiche apportate al corso vengono
riflesse immediatamente sulla mappa. Per un esempio di queste funzionalità, dai un'occhiata all'attività demo delle impostazioni della UI nell'applicazione di esempio (visita questa pagina per scoprire come installarla).
Puoi configurare queste opzioni anche quando la mappa viene creata tramite Attributi XML o utilizzando la classe GoogleMapOptions
.
Per ulteriori dettagli, consulta Configurazione della mappa.
Gesti di zoom
La mappa risponde a una serie di gesti che possono modificare il livello di zoom della fotocamera:
- Tocca due volte per aumentare il livello di zoom di 1 (aumenta lo zoom).
- Tocca con due dita per diminuire il livello di zoom di 1 (zoom indietro).
- Pizzicare/allungare con due dita
- Lo zoom con un dito avviene toccando due volte senza rilasciare al secondo tocco, quindi scorrendo il dito verso l'alto per diminuire lo zoom o verso il basso per aumentare lo zoom.
Puoi disattivare i gesti di zoom chiamando il numero
UiSettings.setZoomGesturesEnabled(boolean)
. Questa operazione non influisce sulla possibilità da parte dell'utente di utilizzare o meno i controlli di zoom per aumentare e diminuire lo zoom.
Gesti di scorrimento (panoramica)
Un utente può scorrere (eseguire la panoramica) trascinandola con il dito.
Puoi disattivare lo scorrimento chiamando il numero
UiSettings.setScrollGesturesEnabled(boolean)
.
Gesti di inclinazione
Un utente può inclinare la mappa posizionando due dita sulla mappa e spostandole verso il basso o verso l'alto per aumentare o diminuire l'angolo di inclinazione rispettivamente. Puoi
disattivare i gesti di inclinazione chiamando il numero UiSettings.setTiltGesturesEnabled(boolean)
.
Gesti di rotazione
Un utente può ruotare la mappa posizionandola con due dita e applicando un movimento di rotazione. Puoi disabilitare la rotazione richiamando
UiSettings.setRotateGesturesEnabled(boolean)
.