Con Maps SDK for Android puoi personalizzare il modo in cui gli utenti possono interagire con la tua mappa, determinando quali componenti dell'interfaccia utente incorporati vengono visualizzati sulla mappa e quali gesti sono consentiti.
Esempi di codice
Il repository ApiDemos su GitHub include un esempio che mostra l'utilizzo delle opzioni di controllo e dei gesti:
- UiSettingsDemoActivity: esempio in Kotlin
- UiSettingsDemoActivity: esempio Java
Modalità Lite per un'interazione minima dell'utente
Se vuoi una mappa leggera con un'interazione utente minima, ti consigliamo 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 specificati. In modalità Lite, gli utenti non possono eseguire panoramiche o aumentare o diminuire lo zoom della mappa e i gesti non funzionano. Per maggiori dettagli, consulta la guida alla modalità Lite.
Controlli UI
L'API Maps offre controlli dell'interfaccia utente integrati simili a quelli presenti 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 questa classe vengono applicate immediatamente alla mappa. Per vedere un esempio di queste funzionalità, consulta l'attività di dimostrazione delle impostazioni dell'interfaccia utente nell'applicazione di esempio.
Puoi anche configurare la maggior parte di queste opzioni quando viene creata la mappa tramite gli attributi XML o utilizzando la classe GoogleMapOptions
. Per maggiori dettagli, consulta Configurare lo stato iniziale.
Ogni controllo dell'interfaccia utente ha una posizione predeterminata rispetto al bordo della mappa.
Puoi allontanare i controlli dal bordo superiore, inferiore, sinistro o destro aggiungendo spaziatura all'oggetto GoogleMap
.
Controlli di zoom
L'API Maps fornisce controlli per lo zoom integrati che vengono visualizzati nell'angolo in basso a destra della mappa. Sono disattivate per impostazione predefinita, ma possono essere attivate chiamando UiSettings.setZoomControlsEnabled(true)
.
Bussola
L'API Maps fornisce un'immagine di una 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'inclinazione o un'azimut non nulli. Quando l'utente fa clic sulla bussola, la videocamera torna animatamente a una posizione con angolo e inclinazione pari a zero (l'orientamento predefinito) e la bussola scompare poco dopo. Puoi disattivare completamente la visualizzazione della bussola chiamando 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 è attivo. Per maggiori dettagli, consulta la guida ai dati sulla posizione.
Selettore di livello
Per impostazione predefinita, un selettore di livello viene visualizzato vicino al centro del lato destro dello schermo quando l'utente visualizza una mappa interna. Quando sono visibili due o più mappe degli interni, il selettore dei livelli si applica all'edificio attualmente in primo piano, in genere quello più vicino al centro dello schermo. Ogni edificio ha un livello predefinito che verrà selezionato la prima volta che viene visualizzato il selettore. Gli utenti possono scegliere un livello diverso selezionandolo dal selettore.
Puoi disattivare o attivare il controllo del selettore di livello chiamando
GoogleMap.getUiSettings().setIndoorLevelPickerEnabled(boolean)
.
Questa opzione è utile se vuoi sostituire il selettore di livello predefinito con il tuo.
Barra degli strumenti della mappa
Per impostazione predefinita, una barra degli strumenti viene visualizzata 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 chiamando
UiSettings.setMapToolbarEnabled(boolean)
.
In una mappa in modalità Lite, la barra degli strumenti rimane invariata indipendentemente dalle azioni dell'utente. In una mappa completamente interattiva, la barra degli strumenti si inserisce quando l'utente tocca un indicatore e si estrae di nuovo quando l'indicatore non è più attivo.
La barra degli strumenti mostra icone che forniscono l'accesso a una visualizzazione della 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.
La barra degli strumenti è visibile in basso a destra nella mappa nello screenshot sopra. Sulla mappa verranno visualizzate zero, 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 risultante.
Gesti della mappa
Una mappa creata con Maps SDK for Android supporta gli stessi gesti dell'applicazione Google Maps. Tuttavia, potrebbero verificarsi situazioni in cui vuoi disattivare determinati gesti per preservare lo stato della mappa. Lo zoom, la panoramica, l'inclinazione e l'azimut possono essere impostati anche tramite programmazione. Per ulteriori dettagli, consulta Fotocamera e visualizzazione. Tieni presente che la disattivazione dei gesti non influisce sulla possibilità di modificare la posizione della videocamera tramite programmazione.
Come per i controlli dell'interfaccia utente, puoi attivare/disattivare i gesti con la classe UiSettings
, che può essere ottenuta da un GoogleMap
chiamando GoogleMap.getUiSettings
. Le modifiche apportate a questa classe vengono subito applicate alla mappa. Per vedere un esempio di queste funzionalità, consulta l'attività di dimostrazione delle impostazioni dell'interfaccia utente nell'applicazione di esempio (consulta qui per scoprire come installarla).
Puoi anche configurare queste opzioni quando la mappa viene creata tramite gli attributi XML o utilizzando la classe GoogleMapOptions
.
Per ulteriori dettagli, consulta Configurare la 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 (aumentare lo zoom).
- Tocca con due dita per diminuire il livello di zoom di 1 (riduci lo zoom).
- Pizzica/allarga con due dita
- Eseguire lo zoom con un dito toccando due volte, ma senza rilasciare il secondo tocco, quindi facendo scorrere il dito verso l'alto per diminuire lo zoom o verso il basso per aumentarlo.
Puoi disattivare i gesti di zoom chiamando
UiSettings.setZoomGesturesEnabled(boolean)
. Ciò non influisce sulla possibilità per un
utente di utilizzare i controlli dello zoom per aumentare e diminuire lo zoom.
Gesti di scorrimento (panoramica)
Un utente può scorrere la 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 muovendole verso il basso o verso l'alto per aumentare o diminuire l'angolo di inclinazione. Puoi
disattivare i gesti di inclinazione chiamando UiSettings.setTiltGesturesEnabled(boolean)
.
Gesti di rotazione
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)
.