Utilizzando l'SDK Maps per Android, puoi personalizzare il modo in cui gli utenti possono interagire con la tua mappa, determinando quali componenti dell'interfaccia utente integrati vengono visualizzati sulla mappa e quali sono i gesti consentiti.
Esempi di codice
Il repository ApiDemos su GitHub include un esempio che dimostra l'uso delle opzioni di controllo e gesto:
- UiSettingsDemoActivity: esempio di Java
- UiSettingsDemoActivity: campione di Kotlin
Modalità Lite per un'interazione minima con l'utente
Se desideri una mappa leggera con un'interazione minima da parte degli utenti, valuta la possibilità di utilizzare una mappa in modalità Lite. La modalità Lite offre un'immagine bitmap di una mappa a una posizione specifica e un livello di zoom specifico. In modalità Lite, gli utenti non possono eseguire la panoramica o lo zoom della mappa e i gesti non funzionano. Per informazioni dettagliate, consulta la guida alla modalità Lite.
Controlli UI
L'API di Google Maps offre controlli dell'interfaccia utente integrati simili a quelli
presenti nell'applicazione Google Maps sul tuo telefono 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 si riflettono immediatamente sulla mappa. Per un esempio di queste funzionalità, guarda l'attività demo delle impostazioni UI nell'applicazione di esempio.
Puoi configurare gran parte di queste opzioni anche quando la mappa viene creata tramite attributi XML o utilizzando la classe GoogleMapOptions
. Per ulteriori dettagli, consulta la sezione 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 spaziatura interna all'oggetto GoogleMap
.
Controlli di zoom
L'API di Google Maps offre controlli di zoom integrati che vengono visualizzati nell'angolo in basso a destra della mappa. Sono disattivati per impostazione predefinita, ma possono essere attivati chiamando UiSettings.setZoomControlsEnabled(true)
.

Bussola
L'API di Google Maps fornisce un'immagine della bussola che viene visualizzata nell'angolo in alto a sinistra della mappa in determinate circostanze. La bussola viene visualizzata solo quando la videocamera è orientata in modo da avere un'angolazione diversa da zero o un'inclinazione diversa da zero. Quando l'utente fa clic sulla bussola, l'animazione della videocamera torna in una posizione con orientamento e inclinazione di zero (orientamento predefinito) e la bussola svanisce poco dopo. Puoi disattivare completamente la
comparizione chiamando UiSettings.setCompassEnabled(boolean)
.
Tuttavia, non puoi forzare sempre la visualizzazione della bussola.

Pulsante La mia posizione
Il pulsante La mia posizione è visibile nell'angolo in alto a destra dello schermo solo quando il livello La mia posizione è attivo. Per informazioni dettagliate, consulta la guida ai dati sulla posizione.

Selettore del livello
Per impostazione predefinita, quando un utente sta visualizzando una mappa di interni, viene visualizzato un selettore di livelli (selettore di piani) vicino al bordo destro dello schermo. Quando sono visibili due o più mappe di interni, il selettore del livello viene applicato all'edificio attualmente a fuoco, che in genere è quello più vicino al centro dello schermo. A ogni edificio è associato un livello predefinito che verrà selezionato alla prima visualizzazione del selettore. Gli utenti possono scegliere un livello diverso selezionandolo dal selettore.
Puoi disattivare o abilitare il controllo del selettore di livelli chiamando
GoogleMap.getUiSettings().setIndoorLevelPickerEnabled(boolean)
.
Questa operazione è utile se vuoi sostituire il selettore di livelli predefinito con il tuo.

Barra degli strumenti della mappa
Per impostazione predefinita, quando un utente tocca un indicatore, in basso a destra nella mappa viene visualizzata una barra degli strumenti La barra degli strumenti consente all'utente di accedere rapidamente all'app Google Maps per dispositivi mobili.
Puoi attivare e disattivare la barra degli strumenti chiamando
UiSettings.setMapToolbarEnabled(boolean)
.
In una mappa lite-mode, la barra degli strumenti rimane indipendentemente dalle azioni dell'utente. In una mappa completamente interattiva, la barra degli strumenti entra quando l'utente tocca un indicatore e scorre di nuovo quando l'indicatore non è più a fuoco.
La barra degli strumenti mostra icone che consentono l'accesso a una visualizzazione mappa o una richiesta di indicazioni stradali nell'app per dispositivi mobili Google Maps. Quando un utente tocca un'icona nella barra degli strumenti, l'API crea un intent per avviare l'attività corrispondente nell'app per dispositivi mobili Google Maps.

La barra degli strumenti è visibile in basso a destra nella mappa nello screenshot sopra. Zero, una o entrambe le icone di intent vengono visualizzate sulla mappa, a seconda dei contenuti della mappa e a condizione che l'app mobile di Google Maps supporti l'intent risultante.
Gesti su mappa
Una mappa creata con l'SDK di Maps per Android supporta gli stessi gesti dell'applicazione Google Maps. Tuttavia, in alcune situazioni potresti voler disattivare determinati gesti per mantenere lo stato della mappa. Puoi anche impostare lo zoom, la panoramica, l'inclinazione e il rilevamento del rilevamento in modo programmatico. Per ulteriori dettagli, consulta Fotocamera e visualizzazione. Tieni presente che la disattivazione dei gesti non influisce sulla modifica della posizione della fotocamera in modo programmatico.
Come per i controlli UI, puoi abilitare/disabilitare i gesti con la classe UiSettings
, che può essere ottenuta da una GoogleMap
chiamando GoogleMap.getUiSettings
. Le modifiche apportate a questo corso si riflettono immediatamente sulla mappa. Per un esempio di queste funzionalità, guarda l'attività demo delle impostazioni dell'interfaccia utente nell'applicazione di esempio (visita questa pagina per avere informazioni su 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 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 (minore zoom).
- Allunga o pizzica con due dita
- Eseguire lo zoom di un dito toccando due volte ma non rilasciando al secondo tocco, quindi facendo scorrere il dito verso l'alto per diminuire lo zoom o verso il basso per aumentare lo zoom.
Puoi disattivare i gesti di zoom chiamando UiSettings.setZoomGesturesEnabled(boolean)
. Ciò non influisce sulla possibilità per un utente di utilizzare i controlli
per aumentare e diminuire lo zoom.
Gesti di scorrimento (panoramica)
Un utente può scorrere (panoramica) sulla mappa trascinandola con il dito.
Puoi disattivare lo scorrimento chiamando
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 UiSettings.setTiltGesturesEnabled(boolean)
.
Ruota gesti
Un utente può ruotare la mappa posizionando due dita sulla mappa e applicando un movimento di rotazione. Puoi disattivare la rotazione chiamando
UiSettings.setRotateGesturesEnabled(boolean)
.