Modalità Lite

Maps SDK for Android può pubblicare un'immagine bitmap di una mappa, offrendo interattività limitata all'utente. Questa è chiamata mappa in modalità Lite.

Esempi di codice

Il repository ApiDemos su GitHub include esempi che dimostrano l'utilizzo della modalità Lite:

Panoramica della modalità Lite

Una mappa in modalità Lite è un'immagine bitmap di una mappa in una posizione e a un livello di zoom specificati. La modalità Lite supporta tutti i tipi di mappe (normale, ibrida, satellite, terreno) e un sottoinsieme delle funzionalità fornite dall'API completa. La modalità Lite è utile quando vuoi fornire diverse mappe in uno stream oppure 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 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 la modalità GoogleMap sulla modalità Lite nei seguenti modi:

  • Come attributo XML per MapView o MapFragment
  • 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 dettagli sull'impostazione dello stato iniziale della mappa, consulta la guida all'oggetto mappa.

Intenzione 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 mappa o a una richiesta di indicazioni stradali nell'app mobile Google Maps. Puoi disattivare la barra degli strumenti chiamando il numero UiSettings.setMapToolbarEnabled(false). Per ulteriori dettagli, consulta la documentazione di Toolbar.

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 listener. Puoi anche disattivare gli eventi di clic sulla mappa chiamando setClickable() nella vista che contiene MapView o MapFragment. Per i dettagli di 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 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, ad eccezione delle seguenti situazioni:

  • È obbligatorio chiamare onCreate(), altrimenti non verrà visualizzata alcuna mappa.
  • Se vuoi mostrare il punto di La mia posizione sulla mappa in modalità Lite e utilizzare l'origine della posizione predefinita, devi chiamare onResume() e onPause() perché l'origine della posizione si aggiornerà solo tra queste chiamate. Se utilizzi la tua origine località, non è necessario chiamare questi due metodi.

Funzionalità 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 registrerà un messaggio di avviso.

Funzionalità
Tipi di mappa
Supportato?
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 e MAP_TYPE_NONE
Polilinee, poligoni, cerchi
Supportato?
La funzionalità della modalità Lite per le shape corrisponde all'API completa.
Projection
Supportato?
La funzionalità della modalità Lite per Projection corrisponde all'API completa.
La mia posizione
Supportato?
La funzionalità modalità Lite per il livello La mia posizione corrisponde all'API completa.
Spaziatura interna della mappa
Supportato?
Il supporto della modalità Lite per la spaziatura interna della mappa corrisponde all'API completa.
Finestre informative
Supportato?
Se imposti il title() di un indicatore, quando l'utente tocca l'indicatore viene visualizzata la finestra informativa predefinita. Puoi mostrare la finestra informativa in modo programmatico chiamando 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 quelli basati su cloud, che richiedono un ID mappa per visualizzare una mappa con stile.
Indicatori
Supportato? Parzialmente
Puoi aggiungere un indicatore e rispondere a un evento di clic. Puoi anche aggiungere icone di indicatori personalizzati. 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. Chiamando GoogleMap.moveCamera(), otterrai un'altra immagine della mappa in modalità Lite. Per ulteriori informazioni su come impostare e manipolare la videocamera, consulta la sezione Modifica della vista.

La chiamata a GoogleMap.animateCamera() non comporta l'animazione del movimento della videocamera. La visualizzazione della fotocamera si sposterà istantaneamente nella nuova posizione.

Mappare gli eventi
Supportato? Parzialmente

La modalità Lite supporta GoogleMap.setOnMapClickListener() e GoogleMap.setOnMapLongClickListener().

Per disattivare gli eventi di clic su una mappa in modalità Lite, puoi chiamare setClickable() nella visualizzazione che contiene MapView o MapFragment. Questo è utile, ad esempio, quando si visualizzano una o più mappe in una visualizzazione elenco, in cui vuoi che l'evento di clic richiami un'azione non correlata alla mappa.

Per maggiori dettagli, consulta la documentazione relativa agli eventi.

Mappe di interni ed edifici
Supportato? No
La modalità Lite mostrerà gli stessi riquadri dell'API Maps Static. Ciò significa che se la planimetria interna è inserita nel riquadro predefinito, verrà visualizzata. In caso contrario, non succederà. Inoltre, non puoi modificare il livello mostrato o manipolare un selettore di livelli.
Livello Traffico
Supportato? No
GoogleMap.setTrafficEnabled() non è supportato in modalità Lite.
Sovrapposizioni 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 avranno alcun effetto.
Street View
Supportato? No
Street View non è supportato in modalità Lite.