Controlli e gesti

Seleziona la piattaforma: Android iOS JavaScript

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:

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

Controlli zoom

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.

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.

Pulsante La mia 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.

Selettore livello

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.

Barra degli strumenti della mappa

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