Con Maps SDK for Android, puoi personalizzare il modo in cui gli utenti possono interagire con la mappa, determinando quali componenti UI integrati 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 dei gesti:
- UiSettingsDemoActivity: esempio di Kotlin
- UiSettingsDemoActivity: esempio Java
Modalità Lite per un'interazione utente minima
Se desideri 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 un posizione e livello di zoom. In modalità Lite, gli utenti non possono eseguire la panoramica o lo zoom della mappa e 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
disponibile nell'applicazione Google Maps sul tuo telefono Android. Puoi attivare/disattivare
la visibilità di questi controlli usando la classe UiSettings
.
che può essere ottenuto da un GoogleMap
con GoogleMap.getUiSettings
. Le modifiche apportate a questo corso vengono immediatamente riportate sulla mappa. A
per visualizzare un esempio di queste funzioni, guardate l'attività demo delle Impostazioni UI nella
applicazione di esempio.
Puoi anche configurare la maggior parte di queste opzioni quando viene creata la mappa
tramite attributi XML o utilizzando 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 spaziatura interna all'oggetto GoogleMap
.
Controlli di zoom
L'API di Google Maps fornisce controlli di zoom integrati che vengono visualizzati nella parte inferiore
nell'angolo in alto a destra della mappa. Sono disattivate per impostazione predefinita, ma possono essere
abilitato chiamando UiSettings.setZoomControlsEnabled(true)
.
![I controlli dello zoom in basso a destra. Controlli zoom](https://developers-dot-devsite-v2-prod.appspot.com/static/maps/documentation/android-sdk/images/zoomcontrols.png?authuser=7&hl=it)
Bussola
L'API di Google Maps fornisce un'immagine bussola che viene visualizzata in alto a sinistra
angolo della mappa in determinate circostanze. La bussola accetterà solo
appare quando la fotocamera è orientata in modo da avere un orientamento diverso da zero
un'inclinazione diversa da zero. Quando l'utente fa clic sulla bussola, la fotocamera si anima di nuovo
in una posizione con orientamento e inclinazione pari a zero (orientamento predefinito)
e la bussola svanisce poco dopo. Puoi disattivare la bussola
che viene visualizzato per intero chiamando UiSettings.setCompassEnabled(boolean)
.
Tuttavia, non puoi forzare la visualizzazione della bussola.
![La bussola in alto a sinistra. Bussola](https://developers-dot-devsite-v2-prod.appspot.com/static/maps/documentation/android-sdk/images/compass.png?authuser=7&hl=it)
Pulsante La mia posizione
Il pulsante La mia posizione viene visualizzato solo nell'angolo in alto a destra dello schermo quando il livello La mia posizione è attivato. Per maggiori dettagli, consulta la guida dati sulla posizione.
![Pulsante La mia posizione in alto a destra. Pulsante La mia posizione](https://developers-dot-devsite-v2-prod.appspot.com/static/maps/documentation/android-sdk/images/mylocationbutton.png?authuser=7&hl=it)
Selettore livello
Per impostazione predefinita, vicino al centro a destra viene visualizzato un selettore di livelli bordo dello schermo quando l'utente visualizza una mappa di interni. Quando due o due sono visibili più mappe di interni: il selettore dei livelli verrà applicato all'edificio attualmente a fuoco, che in genere è quella più vicina al centro dello schermo. Ogni edificio ha un livello predefinito che verrà selezionato quando il selettore visualizzato per la prima volta. Gli utenti possono scegliere un livello diverso selezionandolo dalla selettore.
Puoi disattivare o attivare il controllo selettore livelli richiamando
GoogleMap.getUiSettings().setIndoorLevelPickerEnabled(boolean)
Questo è utile se vuoi sostituire il selettore di livelli predefinito con il tuo.
![Il selettore di livelli vicino al centro a destra. Selettore livello](https://developers-dot-devsite-v2-prod.appspot.com/static/maps/documentation/android-sdk/images/levelpicker.png?authuser=7&hl=it)
Barra degli strumenti della mappa
Per impostazione predefinita, viene visualizzata una barra degli strumenti in basso a destra della mappa quando un utente tocca una 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 dalla posizione azioni. In una mappa completamente interattiva, la barra degli strumenti appare quando l'utente tocca un l'indicatore e scorre di nuovo quando l'indicatore non è più a fuoco.
Nella barra degli strumenti sono presenti icone che consentono di accedere a una visualizzazione mappa o a 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.
![La barra degli strumenti in basso a destra. Barra degli strumenti della mappa](https://developers-dot-devsite-v2-prod.appspot.com/static/maps/documentation/android-sdk/images/intents.png?authuser=7&hl=it)
Nello screenshot sopra, la barra degli strumenti è visibile in basso a destra della mappa. Sulla mappa non verranno visualizzate una o entrambe le icone intent, a seconda del contenuti della mappa e a condizione che l'app mobile Google Maps supporti le l'intento finale.
Gesti sulla mappa
Una mappa creata con Maps SDK for Android supporta gli stessi gesti di l'applicazione Google Maps. Tuttavia, in alcuni casi potresti voler disattivare determinati gesti al fine di preservare lo stato della mappa. Zoom la panoramica, l'inclinazione e l'orientamento possono anche essere impostate in modo programmatico; consulta Fotocamera e vista per ulteriori dettagli. Tieni presente che la disattivazione dei gesti non influisce sulla possibilità di modificare la posizione della videocamera in modo programmatico.
Come per i controlli dell'interfaccia utente, puoi attivare/disattivare i gesti con la
UiSettings
che puoi ottenere da un GoogleMap
chiamando GoogleMap.getUiSettings
. Le modifiche apportate a questo corso sono
che si riflette immediatamente sulla mappa. Per un esempio di queste funzionalità, guarda
nell'attività demo delle impostazioni dell'interfaccia utente nell'applicazione di esempio (vedi
qui per avere informazioni su come installarlo).
Puoi configurare queste opzioni anche quando la mappa viene creata tramite XML
o l'utilizzo della 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 la 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, e 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)
. Ciò non inciderà sul fatto che un
l'utente può usare 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
UiSettings.setScrollGesturesEnabled(boolean)
.
Gesti di inclinazione
Un utente può inclinare la mappa posizionando due dita sulla mappa e spostandole verso il basso
oppure verso l'alto per aumentare o diminuire rispettivamente l'angolo di inclinazione. Puoi
disattiva 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
ruota il movimento. Puoi disattivare la rotazione richiamando
UiSettings.setRotateGesturesEnabled(boolean)
.