Modalità Lite

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

Esempi di codice

Il repository apiDemos su GitHub include esempi che dimostrano l'uso della modalità lite:

Panoramica della modalità Lite

Una mappa in modalità Lite è un'immagine bitmap di una mappa a una posizione specifica e un livello di zoom. La modalità Lite supporta tutti i tipi di mappa (normale, ibrida, satellitare, rilievo) 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 interazioni significative.

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 Google Maps e richiedere le indicazioni stradali.

Aggiungere una mappa in modalità Lite

La modalità Lite utilizza le stesse classi e interfacce dell'API Android completa di Google Maps. Puoi impostare GoogleMap sulla modalità Lite nei seguenti modi:

  • Come attributo XML di un MapView o MapFragment
  • Oppure nell'oggetto GoogleMapOptions

Come attributo XML di 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

Java


GoogleMapOptions options = new GoogleMapOptions()
    .liteMode(true);

      

Kotlin


val options = 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 della mappa contiene icone che forniscono l'accesso a una visualizzazione della mappa o una richiesta di indicazioni stradali nell'app per dispositivi mobili Google Maps. Puoi disattivare la barra degli strumenti chiamando UiSettings.setMapToolbarEnabled(false). Per maggiori 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 eseguire l'override di questa impostazione utilizzando GoogleMap.setOnMapClickListener() per impostare un listener personalizzato. 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 si utilizza 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 sono onCreate(), onDestroy(), onResume() e onPause().

Quando si utilizza la classe MapView in modalità Lite, gli eventi del ciclo di vita di inoltro sono facoltativi, tranne che 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 posizione predefinita, dovrai chiamare onResume() e onPause(), perché l'origine posizione verrà aggiornata 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à API. Se un'app chiama un metodo non supportato in modalità Lite, l'API registrerà un messaggio di avviso.

Funzionalità
Tipi di mappe
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, MAP_TYPE_NONE
Polilinee, poligoni, cerchi
Supportato?
La funzionalità in modalità Lite per le forme corrisponde all'API completa.
Proiezione
Supportato?
La funzionalità della modalità lite per Projection corrisponde all'API completa.
La mia posizione
Supportato?
La funzionalità in modalità Lite per il livello La mia posizione corrisponde all'API completa.
Spaziatura interna mappa
Supportato?
Il supporto della modalità lite per la spaziatura interna sulla mappa corrisponde all'API completa.
Finestre informative
Supportato?
Se imposti l'title() di un indicatore, quando l'utente tocca l'indicatore, verrà visualizzata la finestra informativa predefinita. Puoi mostrare la finestra informativa in modo programmatico chiamando showInfoWindow() sull'indicatore. Puoi anche creare finestre informative personalizzate tramite l'interfaccia InfoWindowAdapter.
Stili personalizzati di base della mappa
Supportato? Parzialmente
L'SDK di Maps per Android supporta gli stili personalizzati 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 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 rendere un indicatore trascinabile. 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 il target della fotocamera e lo zoom, ma non l'inclinazione o il cuscinetto. Il livello di zoom è arrotondato al numero intero più vicino in modalità Lite. Se chiami GoogleMap.moveCamera(), ti verrà fornita un'altra immagine mappa in modalità Lite. Per ulteriori informazioni sull'impostazione e sulla manipolazione della videocamera, consulta la sezione Cambiare la visualizzazione.

La chiamata a GoogleMap.animateCamera() non comporterà l'animazione del movimento della videocamera. L'inquadratura della fotocamera si sposterà all'istante 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 vista che contiene MapView o MapFragment. Ciò è utile, ad esempio, quando visualizzi una mappa o delle 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 ed edifici per interni
Supportato? No
La modalità Lite mostra gli stessi riquadri dell'API Maps Static. Ciò significa che se la pianta del piano per interni è integrata nel riquadro predefinito, verrà visualizzata. In caso contrario, la risposta è no. Inoltre, non puoi modificare il livello mostrato o manipolare un selettore di livelli.
Livello di traffico
Supportato? No
GoogleMap.setTrafficEnabled() non è supportato in modalità Lite.
Overlay del terreno
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.