Controlli e gesti

Seleziona la piattaforma: Android iOS JavaScript

L'SDK Maps for Android ti consente di personalizzare il modo in cui gli utenti possono interagire con la tua mappa, determinando quali componenti dell'interfaccia utente integrati vengono mostrati sulla mappa e quali gesti sono consentiti.

Esempi di codice

Il repository ApiDemos su GitHub include un esempio che dimostra l'utilizzo delle opzioni di controllo e gesto:

Modalità Lite per un'interazione utente minima

Se vuoi una mappa in modalità Lite con un'interazione utente minima, puoi utilizzare una mappa in modalità Lite. La modalità Lite offre un'immagine bitmap di una mappa in una posizione e con 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 UI

L'API di Google Maps offre controlli dell'interfaccia utente integrati simili a quelli dell'applicazione Google Maps sul tuo telefono Android. Puoi attivare/disattivare la visibilità di questi controlli utilizzando la classe UiSettings, che può essere ottenuta da GoogleMap con il metodo GoogleMap.getUiSettings. Le modifiche apportate a questo corso vengono immediatamente riportate sulla mappa. Per un esempio di queste funzionalità, guarda l'attività demo sulle impostazioni 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 maggiori dettagli, consulta Configurazione dello stato iniziale.

Ogni controllo dell'interfaccia utente 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 di Google Maps fornisce controlli per lo zoom integrati che vengono visualizzati nell'angolo in basso a destra della mappa. Questi contatti sono disattivati per impostazione predefinita, ma possono essere attivati chiamando il numero UiSettings.setZoomControlsEnabled(true).

Controlli zoom

Bussola

L'API di Google Maps fornisce un'immagine della bussola che viene visualizzata nell'angolo superiore sinistro della mappa in determinate circostanze. La bussola apparirà sempre solo se la fotocamera è orientata in modo da avere un rilevamento diverso da zero o un'inclinazione diversa da zero. Quando l'utente fa clic sulla bussola, la fotocamera torna in una posizione con movimento e inclinazione pari a zero (l'orientamento predefinito) e la bussola scompare poco dopo. Puoi disattivare del tutto la visualizzazione della bussola chiamando UiSettings.setCompassEnabled(boolean). Tuttavia, non è possibile forzare la visualizzazione sempre della bussola.

Bussola

Pulsante La mia posizione

Il pulsante La mia posizione appare 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, viene visualizzato un selettore di livelli (selettore del piano) vicino al bordo centrale destro dello schermo quando l'utente sta visualizzando una mappa di interni. Quando sono visibili due o più mappe di interni, il selettore di livello viene applicato all'edificio attualmente a fuoco, che in genere è quello più vicino al centro dello schermo. Ogni edificio ha 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 livelli chiamando GoogleMap.getUiSettings().setIndoorLevelPickerEnabled(boolean).

Questa funzionalità è utile se vuoi sostituire il selettore del livello predefinito con il tuo.

Selettore livello

Barra degli strumenti della mappa

Per impostazione predefinita, quando un utente tocca un indicatore, nella parte in basso a destra della mappa viene visualizzata una barra degli strumenti. La barra degli strumenti consente all'utente di accedere rapidamente all'app mobile Google Maps.

Puoi attivare e disattivare la barra degli strumenti chiamando il numero 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 si attiva quando l'utente tocca un indicatore e si sposta di nuovo quando l'indicatore non è più a fuoco.

La barra degli strumenti mostra icone che consentono di accedere 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 riportato sopra, la barra degli strumenti è visibile in basso a destra nella mappa. Zero, una o entrambe le icone di intent verranno visualizzate sulla mappa, a seconda dei contenuti della mappa e a condizione che l'app mobile Google Maps supporti l'intent risultante.

Gesti sulla mappa

Una mappa creata con Maps SDK for Android supporta gli stessi gesti dell'applicazione Google Maps. Tuttavia, potrebbero verificarsi delle situazioni in cui è necessario disattivare alcuni gesti per mantenere lo stato della mappa. Lo zoom, la panoramica, l'inclinazione e l'orientamento possono anche essere impostati in modo programmatico. Per ulteriori dettagli, consulta Fotocamera e visualizzazione. Tieni presente che la disattivazione dei gesti non influisce sulla possibilità di modificare la posizione della fotocamera in modo programmatico.

Come per i controlli dell'interfaccia utente, puoi attivare/disattivare i gesti con la classe UiSettings, che puoi ottenere da un GoogleMapchiamando GoogleMap.getUiSettings. Le modifiche apportate a questo corso si riflettono immediatamente sulla mappa. Per un esempio di queste funzionalità, guarda l'attività demo sulle impostazioni UI nell'applicazione di esempio (vedi qui per 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 la sezione Configurazione della mappa.

Gesti di zoom

La mappa risponde a una serie di gesti che possono cambiare il livello di zoom della fotocamera:

  • Tocca due volte per aumentare il livello di zoom di 1 (zoom in avanti).
  • Tocca con due dita per diminuire il livello di zoom di 1 (diminuzione dello zoom).
  • Pizzica/allunga le dita con due dita
  • Aumenta lo zoom con un dito toccando due volte senza rilasciarlo al secondo tocco e 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 il numero UiSettings.setZoomGesturesEnabled(boolean). Questo non influisce sulla possibilità per un utente di utilizzare i controlli di zoom per aumentare e diminuire lo zoom.

Gesti di scorrimento (panoramica)

Un utente può scorrere (eseguire una panoramica) della mappa 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 posizionando due dita sulla mappa e applicando un movimento di rotazione. Puoi disattivare la rotazione chiamando UiSettings.setRotateGesturesEnabled(boolean).