Controlli e gesti

Seleziona la piattaforma: Android iOS JavaScript

Utilizzando Maps SDK for Android, puoi personalizzare il modo in cui gli utenti possono interagire con la mappa, determinando 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 mostra l'utilizzo delle opzioni di controllo e dei gesti:

Modalità Lite per un'interazione minima dell'utente

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 in una posizione e a un livello di zoom specificati. 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 dell'interfaccia utente

L'API di Google Maps offre controlli dell'interfaccia utente integrati simili a quelli presenti nell'applicazione Google Maps sul tuo smartphone Android. Puoi attivare o disattivare la visibilità di questi controlli utilizzando la UiSettings classe che può essere ottenuta da un GoogleMap con il GoogleMap.getUiSettings metodo. Le modifiche apportate a questa classe si riflettono immediatamente sulla mappa. Per vedere un esempio di queste funzionalità, consulta l'attività demo delle impostazioni dell'interfaccia utente nell' applicazione di esempio.

Puoi anche configurare la maggior parte di queste opzioni quando la mappa viene creata tramite attributi XML o utilizzando la GoogleMapOptions classe. 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 padding all'oggetto GoogleMap.

Controlli di zoom

L'API di Google Maps fornisce controlli di zoom integrati che vengono visualizzati nell'angolo in basso a destra della mappa. Questi sono disattivati per impostazione predefinita, ma possono essere attivati chiamando UiSettings.setZoomControlsEnabled(true).

Controlli di zoom

Bussola

L'API di Google Maps fornisce un grafico della bussola che viene visualizzato 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 rilevamento o un'inclinazione diversi da zero. Quando l'utente fa clic sulla bussola, la videocamera torna a una posizione con rilevamento 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.

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.

Pulsante La mia posizione

Selettore di livello

Per impostazione predefinita, un selettore di livello (selettore di piani) viene visualizzato vicino al bordo destro centrale dello schermo quando l'utente visualizza una mappa degli interni. Quando sono visibili due o più mappe degli interni, il selettore di livello si applica all'edificio attualmente in primo piano, in genere quello più vicino al centro dello schermo. Ogni edificio ha un livello predefinito che viene selezionato quando il selettore viene visualizzato per la prima volta. 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 uno personalizzato.

Selettore del livello

Barra degli strumenti della mappa

Per impostazione predefinita, quando un utente tocca un indicatore, viene visualizzata una barra degli strumenti in basso a destra della mappa. 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 visibile indipendentemente dalle azioni dell'utente. In una mappa completamente interattiva, la barra degli strumenti viene visualizzata quando l'utente tocca un indicatore e scompare quando l'indicatore non è più in primo piano.

La barra degli strumenti mostra le icone che consentono di accedere a una visualizzazione della mappa o a una richiesta di indicazioni stradali nell'app mobile Google Maps. Quando un utente tocca un'icona sulla barra degli strumenti, l'API crea un intent per avviare l'attività corrispondente nell'app mobile Google Maps.

Barra degli strumenti della mappa

La barra degli strumenti è visibile in basso a destra della mappa nello screenshot sopra. Sulla mappa verranno visualizzate zero, una o entrambe le icone dell'intent, a seconda dei contenuti della mappa e a condizione che l'app mobile Google Maps supporti l'intent risultante.

introdotte in Android 11.

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 mantenere lo stato della mappa. Lo zoom, la panoramica, l'inclinazione e il rilevamento possono essere impostati anche a livello di programmazione. Per maggiori dettagli, consulta Videocamera e visualizzazione. Tieni presente che la disattivazione dei gesti non influisce sulla possibilità di modificare la posizione della videocamera a livello di programmazione.

Come per i controlli dell'interfaccia utente, puoi attivare/disattivare i gesti con la UiSettings classe che può essere ottenuta da un GoogleMap chiamando GoogleMap.getUiSettings. Le modifiche apportate a questa classe si riflettono immediatamente sulla mappa. Per vedere un esempio di queste funzionalità, consulta l'attività demo delle impostazioni dell'interfaccia utente nell'applicazione di esempio (vedi qui per scoprire come installarla).

Puoi anche configurare queste opzioni quando la mappa viene creata tramite attributi XML o utilizzando la GoogleMapOptions classe. Per maggiori dettagli, consulta Configurare la mappa.

Gesti di zoom

La mappa risponde a una serie di gesti che possono modificare il livello di zoom della videocamera:

  • Tocca due volte per aumentare il livello di zoom di 1 (zoom in).
  • Tocca con due dita per diminuire il livello di zoom di 1 (zoom out).
  • Pizzica/allarga con due dita.
  • Zoom con un dito toccando due volte, ma senza rilasciare il dito al secondo tocco, e poi scorrendo il dito verso l'alto per eseguire lo zoom out o verso il basso per eseguire lo zoom in.

Puoi disattivare i gesti di zoom chiamando UiSettings.setZoomGesturesEnabled(boolean). Questa operazione non influisce sulla possibilità di utilizzare i controlli di zoom per eseguire lo zoom in e lo zoom out.

Gesti di scorrimento (panoramica)

Un utente può scorrere (eseguire la 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).

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).