Maps SDK for Android può pubblicare l'immagine bitmap di una mappa, offrendo interattività limitata per l'utente. Questa è chiamata mappa in modalità Lite.
Esempi di codice
Il repository ApiDemos su GitHub include esempi che dimostrano l'utilizzo della modalità Lite:
- LiteDemoActivity - Java: nozioni di base sull'utilizzo di una mappa in modalità Lite in Java
- LiteDemoActivity - Kotlin: nozioni di base sull'utilizzo di una mappa in modalità Lite in Kotlin
- LiteListDemoActivity - Java: visualizza in modo efficiente le mappe in ListView utilizzando la modalità Lite in Java
- LiteListDemoActivity - Kotlin: visualizza in modo efficiente le mappe in 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 al livello di zoom specificati. La modalità Lite supporta tutti i tipi di mappe (normali, ibride, satellitari, rilievi) e un sottoinsieme delle funzionalità fornite dall'API completa. La modalità Lite è utile quando vuoi fornire più mappe in uno stream o una mappa troppo piccola per supportare un'interazione significativa.
Gli utenti che visualizzano la mappa non possono eseguire lo zoom o la panoramica della mappa. Le icone sulla mappa consentono agli utenti di visualizzare la mappa nell'app mobile di 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 completa di Google Maps per Android. Puoi impostare una 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 maggiori dettagli sull'impostazione dello stato iniziale della mappa, consulta la guida all'oggetto mappa.
Tentativo di avviare una richiesta di visualizzazione mappa o di indicazioni stradali
Per impostazione predefinita, una barra degli strumenti in basso a destra nella mappa contiene icone che forniscono l'accesso a una richiesta di visualizzazione della mappa o di indicazioni stradali nell'app mobile Google Maps. Puoi disattivare la barra degli strumenti chiamando UiSettings.setMapToolbarEnabled(false)
. Per ulteriori dettagli, consulta la documentazione relativa alla barra degli strumenti.
Inoltre, per impostazione predefinita, quando un utente tocca la mappa, l'API avvia l'app mobile
di Google Maps. Puoi eseguire l'override di questa opzione utilizzando GoogleMap.setOnMapClickListener()
per
impostare il tuo listener. Puoi anche disattivare gli eventi di clic sulla mappa, richiamando
setClickable()
sulla vista che contiene MapView
o MapFragment
. Per
i dettagli di queste due tecniche, consulta la documentazione sugli 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 delle attività ai metodi corrispondenti
nella classe MapView
. Esempi di metodi del 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 che nei seguenti casi:
- È 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 posizione predefinita, dovrai chiamare
onResume()
eonPause()
, perché l'origine posizione si aggiornerà solo tra queste chiamate. Se utilizzi la tua origine posizione, non è necessario chiamare questi due metodi.
Funzionalità dell'API supportate
La seguente tabella 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 registra un messaggio di avviso.
Funzionalità | |
---|---|
Tipi di mappe | Supportato? Sì
I seguenti tipi di
mappe 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à in modalità Lite per Projection corrisponde all'API completa. |
La mia posizione | Supportato? Sì
La funzionalità in modalità Lite per il
livello La mia posizione
corrisponde all'API completa. |
Spaziatura interna mappa | Supportato? Sì
Il supporto della modalità Lite per la spaziatura delle mappe corrisponde all'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 richiamando il numero showInfoWindow() sull'indicatore.
Puoi anche creare finestre informative personalizzate tramite
l'interfaccia InfoWindowAdapter . |
Stili di mappa base personalizzati | Supportato? Parzialmente
Maps SDK for Android supporta lo stile personalizzato della mappa base. La modalità Lite supporta solo gli stili personalizzati basati su JSON, non gli stili basati su cloud che richiedono un ID mappa per eseguire il rendering di una mappa con stili.
La modalità Lite non supporta inoltre l'impostazione della
combinazione di colori della mappa
per l'uso della modalità Buio.
|
Indicatori | Supportato? Parzialmente
Puoi aggiungere un indicatore e rispondere a un evento di clic. Puoi anche aggiungere icone di indicatori personalizzate. Non è possibile trascinare un indicatore. Gli indicatori su una mappa in modalità Lite sono piatti e non possono essere ruotati. |
Posizione della fotocamera, zoom e animazione | Supportato? Parzialmente
Puoi impostare l'obiettivo della videocamera e lo zoom, ma non l'inclinazione o l'orientamento.
Il livello di zoom viene arrotondato al numero intero più vicino in modalità Lite.
La chiamata a La chiamata di |
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 sugli eventi. |
Mappe ed edifici di interni | Supportato? No
La modalità Lite mostra gli stessi riquadri dell'API Maps Static.
Ciò significa che se la planimetria interna è cotta nel riquadro predefinito,
verrà visualizzata. In caso contrario, non succederà. Inoltre, non puoi modificare il livello mostrato o manipolare un selettore livelli. |
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 riquadro | 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 avranno alcun effetto. |
Street View | Supportato? No
Street View non è
supportato in modalità Lite. |