Maps SDK for Android può pubblicare un'immagine bitmap di una mappa, offrendo all'utente un'interattività limitata. Questa è una mappa in modalità Lite.
Esempi di codice
Il repository ApiDemos su GitHub include esempi che mostrano l'utilizzo della modalità Lite:
- LiteDemoActivity - Java: le nozioni di base sull'utilizzo di una mappa in modalità lite in Java
- LiteDemoActivity - Kotlin: le nozioni di base sull'utilizzo di una mappa in modalità Lite in Kotlin
- LiteListDemoActivity - Java: visualizzazione efficiente delle mappe nelle ListView utilizzando la modalità Lite in Java
- LiteListDemoActivity - Kotlin: visualizzazione delle mappe in modo efficiente nelle ListView utilizzando la modalità Lite in Kotlin
Panoramica della modalità Lite
Una mappa in modalità Lite è un'immagine bitmap di una mappa in una posizione e con un livello di zoom specificati. La modalità Lite supporta tutti i tipi di mappe (normale, ibrida, satellitare, topografica) e un sottoinsieme delle funzionalità fornite dall'API completa. La modalità Lite è utile quando vuoi fornire una serie di mappe in uno stream o una mappa troppo piccola per supportare un'interazione significativa.
Gli utenti che visualizzano la mappa non possono applicare lo zoom o eseguire la panoramica. Le icone sulla mappa consentono agli utenti di visualizzare la mappa nell'app mobile Google Maps e di richiedere indicazioni stradali.
Aggiunta di una mappa in modalità Lite
La modalità Lite utilizza le stesse classi e interfacce dell'API Android di Google Maps completa. Puoi impostare un GoogleMap
in modalità Lite nei seguenti modi:
- Come attributo XML per
MapView
oMapFragment
- Oppure nell'oggetto
GoogleMapOptions
Come attributo XML per MapView
o MapFragment
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
android:name="com.google.android.gms.maps.MapFragment"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
map:cameraZoom="13"
map:mapType="normal"
map:liteMode="true"/>
Nell'oggetto GoogleMapOptions
Kotlin
val options = GoogleMapOptions() .liteMode(true)
Java
GoogleMapOptions options = new GoogleMapOptions() .liteMode(true);
Per informazioni dettagliate sull'impostazione dello stato iniziale della mappa, consulta la guida all'oggetto mappa.
Intenti di avviare una visualizzazione mappa o una richiesta di indicazioni stradali
Per impostazione predefinita, una barra degli strumenti in basso a destra nella mappa contiene icone che consentono di accedere a una visualizzazione della mappa o a una richiesta di indicazioni stradali nell'app mobile Google Maps. Puoi disattivare la barra degli strumenti chiamando UiSettings.setMapToolbarEnabled(false)
. Per ulteriori dettagli, consulta la documentazione della barra degli strumenti.
Inoltre, per impostazione predefinita, quando un utente tocca la mappa, l'API avvia l'app mobile Google Maps. Puoi ignorare questa impostazione utilizzando GoogleMap.setOnMapClickListener()
per impostare il tuo ascoltatore. Puoi anche disattivare gli eventi di clic sulla mappa chiamando
setClickable()
nella visualizzazione contenente MapView
o MapFragment
. Per dettagli su queste due tecniche, consulta la documentazione relativa agli eventi.
Eventi del ciclo di vita
Quando utilizzi l'API in modalità completamente interattiva, gli utenti della classe MapView
devono inoltrare tutti i metodi del ciclo di vita dell'attività ai metodi corrispondenti nella classe MapView
. Esempi di metodi di ciclo di vita includono onCreate()
, onDestroy()
, onResume()
e onPause()
.
Quando utilizzi la classe MapView
in modalità Lite, l'inoltro degli eventi del ciclo di vita è facoltativo, tranne nelle seguenti situazioni:
- È obbligatorio chiamare
onCreate()
, altrimenti non verrà visualizzata alcuna mappa. - Se vuoi mostrare il punto La mia posizione sulla mappa in modalità Lite e utilizzare l'origine dati posizione predefinita, dovrai chiamare
onResume()
eonPause()
, poiché l'origine dati posizione verrà aggiornata solo tra queste chiamate. Se utilizzi la tua origine posizione, non è necessario chiamare questi due metodi.
Funzionalità dell'API supportate
La tabella seguente descrive il comportamento di una mappa in modalità Lite per ogni area della funzionalità dell'API. Se un'app chiama un metodo non supportato in modalità Lite, l'API registrerà un messaggio di avviso.
Funzionalità | |
---|---|
Tipi di mappe | Supportato? Sì
I seguenti tipi di mappa sono disponibili tramite GoogleMapOptions.mapType() e GoogleMap.setMapType() : MAP_TYPE_NORMAL , MAP_TYPE_SATELLITE , MAP_TYPE_TERRAIN , MAP_TYPE_HYBRID , MAP_TYPE_NONE |
Polilinee, poligoni, cerchi | Supportato? Sì
La funzionalità della modalità Lite per
le forme corrisponde all'API completa. |
Projection | Supportato? Sì
La funzionalità della modalità Lite per
Projection
corrisponde all'API completa. |
La mia posizione | Supportato? Sì
La funzionalità della modalità Lite per il
livello La mia posizione
corrisponde a quella dell'API completa. |
Spaziatura interna della mappa | Supportato? Sì
Il supporto della modalità Lite per
la spaziatura della mappa
corrisponde a quello dell'API completa. |
Finestre informative | Supportato? Sì
Se imposti il title() di un indicatore, la finestra informativa predefinita verrà visualizzata quando l'utente tocca l'indicatore. Puoi mostrare la finestra informativa
in modo programmatico chiamando showInfoWindow() sul marker.
Puoi anche creare finestre di informazioni personalizzate tramite l'interfaccia
InfoWindowAdapter . |
Stili di mappa base personalizzati | Supportato? Parzialmente
Maps SDK for Android supporta
stili personalizzati della mappa di base. La modalità Lite supporta solo gli stili personalizzati basati su JSON, non quelli basati su cloud che richiedono un ID mappa per visualizzare una mappa personalizzata.
Inoltre, la modalità Lite non supporta l'impostazione della
combinazione di colori della mappa
per utilizzare la modalità oscura.
|
Indicatori | Supportato? Parzialmente
Puoi aggiungere un indicatore
e rispondere a un evento di clic. Puoi anche aggiungere icone personalizzate per i segnaposto. Non è possibile rendere un indicatore trascinabile. I segnaposto su una mappa in modalità Lite sono piatti e non possono essere ruotati. |
Posizione della videocamera, zoom e animazione | Supportato? Parzialmente
Puoi impostare il target e lo zoom della videocamera, ma non l'inclinazione o l'orientamento.
Il livello di zoom viene arrotondato al numero intero più vicino in modalità Lite.
Se chiami Se chiami |
Mappare gli eventi | Supportato? Parzialmente
La modalità Lite supporta
Per disattivare gli eventi di clic su una mappa in modalità Lite, puoi chiamare
Per maggiori dettagli, consulta la documentazione relativa agli eventi. |
Mappe e edifici al coperto | Supportato? No
La modalità Lite mostra gli stessi riquadri dell'API Maps Static.
Ciò significa che se la pianta interna è incorporata nel riquadro predefinito,
verrà visualizzata. In caso contrario, non funzionerà. Inoltre, non puoi modificare il livello visualizzato o manipolare un selettore di livello. |
Livello di traffico | Supportato? No
GoogleMap.setTrafficEnabled() non è supportato
in modalità Lite. |
Overlay del suolo | Supportato? No
GoogleMap.addGroundOverlay() non è supportato in modalità lite. |
Overlay riquadri | Supportato? No
GoogleMap.addTileOverlay() non è supportato in modalità lite. |
Gesti | Supportato? No
La modalità Lite non supporta i gesti. L'attivazione e la disattivazione dei gesti
non avrà alcun effetto. |
Street View | Supportato? No
Street View non è supportato in modalità Lite. |