Controlli e gesti

Seleziona la piattaforma: Android iOS JavaScript

Utilizzando Maps SDK for Android, è possibile personalizzare il modo in cui gli utenti possono interagire con la mappa, determinando quali componenti integrati dell'interfaccia utente vengono visualizzati 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 gesti:

Modalità Lite per un'interazione minima dell'utente

Se vuoi una mappa leggera con un'interazione minima da parte degli utenti, puoi utilizzare una mappa in modalità Lite. La modalità Lite offre un'immagine bitmap di una mappa con una posizione e 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 UI 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 un GoogleMap con il metodo GoogleMap.getUiSettings. Le modifiche apportate a questo corso vengono immediatamente applicate alla mappa. Per vedere un esempio di queste funzionalità, guarda l'attività demo sulle impostazioni UI 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 maggiori dettagli, consulta Configurazione dello 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 una spaziatura 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 disabilitate per impostazione predefinita, ma possono essere attivate chiamando UiSettings.setZoomControlsEnabled(true).

Controlli zoom

Bussola

L'API di Google Maps fornisce un'immagine bussola che, in determinate circostanze, viene visualizzata nell'angolo in alto a sinistra della mappa. La bussola viene visualizzata solo quando la fotocamera è orientata in modo che abbia una posizione diversa da zero o un'inclinazione diversa da zero. Quando l'utente fa clic sulla bussola, la fotocamera torna a una posizione con direzione 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 in modo che sia sempre visibile.

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 livello

Per impostazione predefinita, un selettore livelli (selettore del piano) viene visualizzato 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 di 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 verrà selezionato alla prima visualizzazione del selettore. Gli utenti possono scegliere un livello diverso selezionandolo dal selettore.

Puoi disattivare o attivare il controllo del selettore livelli chiamando GoogleMap.getUiSettings().setIndoorLevelPickerEnabled(boolean).

Questa operazione è 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 di Google Maps.

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 nuovamente verso l'esterno 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 di 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

La barra degli strumenti è visibile in basso a destra nella mappa nello screenshot qui sopra. 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, in alcuni casi è possibile disattivare determinati gesti per mantenere lo stato della mappa. Zoom, panoramica, inclinazione e orientamento possono essere impostati in modo programmatico. Per ulteriori dettagli, consulta Fotocamera e visualizzazione. Tieni presente che la disattivazione dei gesti non influisce sulla possibilità o meno di cambiare la posizione della fotocamera in modo programmatico.

Come con 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 questo corso vengono immediatamente riportate sulla mappa. Per visualizzare un esempio di queste funzionalità, guarda l'attività demo sulle impostazioni UI nell'applicazione di esempio (vedi qui per sapere 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 cambiare 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 (diminuisci lo zoom).
  • Pizzica/allunga con due dita
  • Aumenta lo zoom con un dito toccando due volte ma non rilasciandolo al secondo tocco, quindi 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 l'utente di utilizzare i controlli dello zoom per aumentare e diminuire lo zoom.

Gesti di scorrimento

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 posizionandovi due dita e applicando un movimento di rotazione. Puoi disattivare la rotazione chiamando UiSettings.setRotateGesturesEnabled(boolean).