Controlli e gesti

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.
Seleziona piattaforma: Android iOS JavaScript

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 incorporati 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:

Modalità Lite per un'interazione minima con l'utente

Se vuoi una mappa leggera con un'interazione minima dell'utente, valuta la possibilità di utilizzare una mappa in modalità Lite. La modalità Lite offre un'immagine bitmap di una mappa in una posizione e un livello di zoom specificati. In modalità lite, gli utenti non possono eseguire la panoramica o lo zoom della mappa, ma non i gesti. Per maggiori dettagli, 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 questa lezione vengono immediatamente riportate sulla mappa. Per un esempio di queste funzionalità, guarda l'attività della demo Impostazioni utente nell'applicazione di esempio.

Puoi configurare la maggior parte di queste opzioni anche quando la mappa viene creata tramite attributi XML o utilizzando la classe GoogleMapOptions. Per ulteriori dettagli, consulta Configurazione dello stato iniziale.

Ogni controllo di interfaccia utente ha una posizione predeterminata rispetto al bordo della mappa. Puoi spostare i controlli dal bordo superiore, inferiore, sinistro o destro aggiungendo la 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 disattivate per impostazione predefinita, ma possono essere attivate chiamando il servizio UiSettings.setZoomControlsEnabled(true).

Controlli zoom

Bussola

In determinate circostanze, l'API di Maps fornisce un'immagine bussola che appare nell'angolo superiore sinistro della mappa. La bussola apparirà sempre 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 riprende in una posizione con orientamento e inclinazione pari a zero (orientamento predefinito) e la bussola svanisce poco dopo. Puoi disattivare completamente la bussola chiamando UiSettings.setCompassEnabled(boolean). ma non puoi forzarne la visualizzazione continua.

Bussola

Pulsante La mia posizione

Il pulsante La mia posizione viene visualizzato nell'angolo in alto a destra dello schermo solo se è attivo il livello La mia posizione. Per maggiori dettagli, consulta la guida ai dati sulla posizione.

Pulsante La mia posizione

Selettore livelli

Per impostazione predefinita, quando un utente visualizza 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 interne, il selettore dei livelli viene applicato all'edificio attualmente attivo, che in genere è quello più vicino al centro dello schermo. A ogni edificio è associato 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 di livello chiamando GoogleMap.getUiSettings().setIndoorLevelPickerEnabled(boolean).

Ciò è utile se vuoi sostituire il selettore di livello predefinito con il tuo.

Selettore livelli

Barra degli strumenti della mappa

Per impostazione predefinita, quando un utente tocca un indicatore, viene visualizzata una barra degli strumenti in basso a destra nella mappa. 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 in modalità Lite, la barra degli strumenti persiste indipendentemente dalle azioni dell'utente. In una mappa completamente interattiva, la barra degli strumenti compare quando l'utente tocca un indicatore e scorre di nuovo quando l'indicatore non è più a fuoco.

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

Barra degli strumenti della mappa

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 mappati

Una mappa creata con l'SDK 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. Zoom, panoramica, inclinazione e rilevamento possono anche essere impostati in modo programmatico. Per ulteriori dettagli, consulta Videocamera e vista. La disattivazione dei gesti non influisce sulla modifica della posizione della videocamera in modo programmatico.

Come per i controlli dell'interfaccia utente, puoi attivare/disattivare i gesti con la classe UiSettings, che può essere ottenuta da GoogleMap chiamando GoogleMap.getUiSettings. Le modifiche apportate in questa classe vengono applicate immediatamente sulla mappa. Per un esempio di queste funzionalità, guarda l'attività della demo Impostazioni UI nell'applicazione di esempio (qui 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 di 1 il livello di zoom (diminuisci lo zoom).
  • Allungamento/pizzico con due dita
  • Esegui lo zoom di un dito toccando due volte, ma senza rilasciare sul secondo tocco, quindi fai 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). Questa operazione non influisce sulla possibilità per un utente di usare 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 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 i gesti

Un utente può ruotare la mappa posizionando due dita e applicando un movimento di rotazione. Puoi disattivare la rotazione chiamando UiSettings.setRotateGesturesEnabled(boolean).