Modalità Lite

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

L'SDK Maps per Android può pubblicare un'immagine bitmap di una mappa, offrendo un'interattività limitata all'utente. Questa è chiamata mappa in 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 in una posizione e un livello di zoom specifici. La modalità Lite supporta tutti i tipi di mappe (normali, ibride, satellitari, rilievo) e un sottoinsieme di funzionalità fornite dall'API completa. La modalità Lite è utile quando vuoi fornire un numero di mappe in un flusso 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 accedere alla mappa nell'app mobile Google Maps e di richiedere indicazioni stradali.

Aggiungere una mappa in modalità Lite

La modalità Lite utilizza le stesse classi e interfacce della versione completa dell'API Google Maps per Android. Puoi impostare una modalità Lite in una modalità GoogleMap nei seguenti modi:

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

Intenzione di lanciare una richiesta di visualizzazione di una mappa o di indicazioni stradali

Per impostazione predefinita, una barra degli strumenti in basso a destra nella mappa contiene icone che forniscono l'accesso alla visualizzazione della mappa o alla richiesta di indicazioni stradali nell'app per dispositivi mobili 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 per dispositivi mobili di Google Maps. Puoi eseguire l'override utilizzando GoogleMap.setOnMapClickListener() per impostare il tuo listener. Puoi anche disattivare gli eventi di clic sulla mappa chiamando setClickable() per la visualizzazione che contiene MapView o MapFragment. Per i dettagli di queste due tecniche, consulta la documentazione degli 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 il numero 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, devi 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 registra un messaggio di avviso.

Funzionalità
Tipi di mappe
Supportata?
Sono disponibili i seguenti tipi di mappa 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
Supportata?
La funzionalità in modalità Lite per forme corrisponde all'API completa.
Proiezione
Supportata?
La funzionalità in modalità Lite per Projection corrisponde all'API completa.
La mia posizione
Supportata?
La funzionalità in modalità Lite per il livello La mia posizione corrisponde all'API completa.
Spaziatura interna mappa
Supportata?
Il supporto della modalità Lite per la riempimento della mappa corrisponde all'API completa.
Finestre informative
Supportata?
Se imposti 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 showInfoWindow() sull'indicatore. Puoi anche creare finestre informative personalizzate tramite l'interfaccia InfoWindowAdapter.
Stili di base mappa personalizzati
Supportata? Parzialmente
L'SDK Maps per Android supporta gli stili personalizzati 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 eseguire il rendering di una mappa con stili.
Indicatori
Supportata? Parzialmente
Puoi aggiungere un indicatore e rispondere a un evento di clic. Puoi anche aggiungere icone di indicatori personalizzati. Non è possibile rendere trascinabile un indicatore. Gli indicatori su una mappa in modalità Lite sono piatti e non possono essere ruotati.
Posizione della videocamera, zoom e animazione
Supportata? Parzialmente

Puoi impostare il soggetto target e lo zoom, ma non l'inclinazione o il rilevamento. In modalità Lite, il livello di zoom viene arrotondato al numero intero più vicino. Se chiami GoogleMap.moveCamera(), visualizzerai un'altra immagine mappa in modalità lite. Per scoprire di più sulla configurazione e sulla manipolazione della videocamera, consulta la pagina Cambiare la visualizzazione.

La chiamata a GoogleMap.animateCamera() non comporterà l'animazione del movimento della videocamera. La visualizzazione della videocamera si sposterà all'istante nella nuova posizione.

Mappare gli eventi
Supportata? 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 vengono mostrate una mappa o una mappa in una visualizzazione elenco, dove 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
Supportata? No
La modalità Lite mostra gli stessi riquadri dell'API Maps Static. Ciò significa che se la planimetria interna è integrata nel riquadro predefinito, verrà visualizzata. In caso contrario. Inoltre, non puoi modificare il livello visualizzato né manipolare un selettore di livelli.
Livello traffico
Supportata? No
GoogleMap.setTrafficEnabled() non è supportato in modalità Lite.
Overlay al suolo
Supportata? No
GoogleMap.addGroundOverlay() non è supportato in modalità Lite.
Overlay riquadro
Supportata? No
GoogleMap.addTileOverlay() non è supportato in modalità Lite.
Gesti
Supportata? No
La modalità Lite non supporta i gesti. L'attivazione e la disattivazione dei gesti non avranno effetto.
Street View
Supportata? No
Street View non è supportato in modalità lite.