Maps SDK for Android può mostrare un'immagine bitmap di una mappa, offrendo un'interattività limitata all'utente. Questa mappa viene chiamata mappa in modalità Lite.
Esempi di codice
Il repository ApiDemos su GitHub include esempi che dimostrano 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 in ListView utilizzando la modalità Lite in Java
- LiteListDemoActivity - Kotlin: visualizzazione efficiente delle 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 a un livello di zoom specificati. La modalità Lite supporta tutti i tipi di mappe (normale, ibrida, satellitare, terreno) e un sottoinsieme delle funzionalità fornite dall'API completa. La modalità Lite è utile quando vuoi fornire una serie di mappe in un flusso o una mappa troppo piccola per supportare un'interazione significativa.
Gli utenti che visualizzano la mappa non possono eseguire lo zoom o la panoramica. Le icone sulla mappa consentono agli utenti di visualizzare la mappa nell'app mobile Google Maps e richiedere indicazioni stradali.
Aggiunta di una mappa in modalità Lite
La modalità Lite utilizza le stesse classi e interfacce dell'API Google Maps Android completa. Puoi impostare una GoogleMap sulla modalità Lite nei seguenti modi:
- Come attributo XML per un MapViewo unMapFragment
- o nell'oggetto GoogleMapOptions.
Come attributo XML per un MapView o un 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.
Intent per avviare una visualizzazione della mappa o una richiesta di indicazioni stradali
Per impostazione predefinita, una barra degli strumenti in basso a destra della 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 questo comportamento utilizzando GoogleMap.setOnMapClickListener() per impostare il tuo listener. Puoi anche disattivare gli eventi di clic sulla mappa chiamando
setClickable() nella visualizzazione 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 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, 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 della posizione predefinita, devi chiamare onResume()eonPause(), perché l'origine della posizione verrà aggiornata solo tra queste chiamate. Se utilizzi la tua origine della posizione, non è necessario chiamare questi due metodi.
Funzionalità API supportate
La tabella seguente descrive il comportamento di una mappa in modalità Lite per ciascuna 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? Sì I seguenti tipi di
      mappe sono disponibili tramite  GoogleMapOptions.mapType()eGoogleMap.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 a quella
      dell'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 all'API completa. | 
| Spaziatura interna della mappa | Supportato? Sì Il supporto della modalità Lite per
      il padding della mappa
      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 chiamandoshowInfoWindow()sul marcatore.
      Puoi anche creare finestre informative personalizzate tramite l'interfacciaInfoWindowAdapter. | 
| Stili di mappa base personalizzati | Supportato? In parte Maps SDK for Android supporta
    la personalizzazione dello stile
    della mappa di base. La modalità Lite supporta solo la personalizzazione basata su JSON, non
    la personalizzazione basata su cloud che richiede un ID mappa per il rendering di una mappa con stile.
    La modalità Lite non supporta nemmeno l'impostazione della
    combinazione di colori della mappa
    per utilizzare la modalità Buio.
 | 
| Indicatori | Supportato? In parte Puoi aggiungere un indicatore
      e rispondere a un evento di clic. Puoi anche aggiungere icone
      di marcatori personalizzati. Non è possibile rendere trascinabile un indicatore. I marcatori su una
      mappa in modalità Lite sono piatti e non possono essere ruotati. | 
| Posizione, zoom e animazione della videocamera | Supportato? In parte 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  La chiamata di  | 
| Mappare gli eventi | Supportato? In parte 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 di interni ed edifici | Supportato? No La modalità Lite mostra le stesse tessere dell'API Maps Static.
      Ciò significa che se la planimetria interna è integrata nel riquadro predefinito,
      verrà visualizzata. In caso contrario, non verrà visualizzato. Inoltre, non puoi modificare il livello
      mostrato o manipolare un selettore di livello. | 
| Livello del traffico | Supportato? No GoogleMap.setTrafficEnabled()non è supportato
      in modalità Lite. | 
| Overlay al 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. |