Modalità Lite

Maps SDK for Android può pubblicare l'immagine bitmap di una mappa, offrendo un'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:

Panoramica della modalità Lite

Una mappa in modalità Lite è l'immagine bitmap di una mappa in una posizione e con lo zoom specificati livello. La modalità Lite supporta tutti i tipi di mappe (normali, ibride, satellitari, rilievo) e un sottoinsieme delle funzionalità fornite dall'API completa. Modalità Lite è utile quando vuoi fornire un numero di mappe in un ruscello oppure una mappa che è troppo piccolo 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 danno Gli utenti possono visualizzare la mappa nell'app mobile Google Maps e richiedere l'accesso indicazioni stradali.

Aggiunta di una mappa in modalità Lite

La modalità Lite utilizza le stesse classi e interfacce della versione completa di Google Maps per Android tramite Google Cloud CLI o tramite l'API Compute Engine. Puoi impostare una GoogleMap in modalità Lite nei seguenti modi 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 maggiori dettagli sull'impostazione dello stato iniziale della mappa, consulta la guida al map dell'oggetto.

Tentativo di avviare una richiesta di visualizzazione mappa o di indicazioni stradali

Per impostazione predefinita, una barra degli strumenti in basso a destra della mappa contiene icone che fornire l'accesso a una richiesta di visualizzazione della mappa o di indicazioni stradali in Google Maps per dispositivi mobili dell'app. Puoi disattivare la barra degli strumenti richiamando UiSettings.setMapToolbarEnabled(false) Per maggiori informazioni , 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 dell'app. Puoi eseguire l'override di questa opzione utilizzando GoogleMap.setOnMapClickListener() per e impostare il tuo listener. Puoi anche disattivare gli eventi di clic sulla mappa, richiamando setClickable() nella visualizzazione che contiene MapView o MapFragment. Per i dettagli di queste due tecniche, consulta la documentazione relativa agli eventi.

Eventi del ciclo di vita

Quando utilizzano l'API in modalità completamente interattiva, gli utenti del corso MapView devono inoltrare tutti i metodi del ciclo di vita delle attività ai metodi corrispondenti nel corso MapView. Esempi di metodi per il ciclo di vita includono onCreate(), onDestroy(), onResume() e onPause().

Se utilizzi il corso MapView in modalità Lite, gli eventi del ciclo di vita dell'inoltro vengono facoltativo, tranne che nei seguenti casi:

  • È obbligatorio chiamare onCreate(), altrimenti non verrà visualizzata alcuna mappa.
  • Se desideri mostrare il punto La mia posizione sulla mappa in modalità Lite e utilizza lo origine della posizione predefinita, dovrai chiamare onResume() e onPause(), 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 tabella seguente descrive il comportamento di una mappa in modalità Lite per ogni area funzionalità dell'API. Se un'app chiama un metodo non supportato in modalità Lite, l'API registrerà un messaggio di avviso.

Funzionalità
Tipi di mappe
Supportato?
La seguente mappa tipi 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à in modalità Lite shapes corrisponde l'API completa.
Projection
Supportato?
La funzionalità in modalità Lite Proiezione corrisponde all'API completa.
La mia posizione
Supportato?
La funzionalità in modalità Lite Livello La mia posizione corrisponde all'API completa.
Spaziatura interna mappa
Supportato?
Il supporto della modalità Lite spaziatura interna della mappa corrisponde all'API completa.
Finestre informative
Supportato?
Se imposti il valore title() di un indicatore, il valore predefinito finestra informativa vengono visualizzati quando l'utente tocca l'indicatore. Puoi mostrare la finestra informativa in modo programmatico chiamando showInfoWindow() sull'indicatore. Puoi anche creare finestre informative personalizzate tramite interfaccia di InfoWindowAdapter.
Stili di mappa base personalizzati
Supportato? Parzialmente
Maps SDK for Android supporta stile personalizzato di la mappa base. La modalità Lite supporta solo stili personalizzati basati su JSON, non stili basati su cloud che richiedono un ID mappa per eseguire il rendering di una mappa con stili. La modalità Lite non supporta neanche l'impostazione combinazione di colori della mappa per usare la modalità Buio.
Indicatori
Supportato? Parzialmente
Puoi aggiungere un indicatore e rispondere a un evento di clic. Puoi anche aggiungere icone degli indicatori. Non è possibile trascinare un indicatore. Indicatori su un Le mappe in modalità Lite sono piatte e non possono essere ruotate.
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. Chiamare GoogleMap.moveCamera() ti consentirà di continuare a leggere immagine della mappa in modalità di navigazione. Per ulteriori informazioni sull'impostazione e la gestione videocamera, consulta Modificare la visualizzazione.

La chiamata a GoogleMap.animateCamera() non comporterà animazione del movimento della videocamera. La visualizzazione della videocamera 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. Questo è utile per Ad esempio, quando visualizzi una o più mappe in una visualizzazione elenco, dove vuoi l'evento clic per richiamare un'azione non correlata alla mappa.

Per maggiori dettagli, consulta eventi documentazione.

Mappe ed edifici di interni
Supportato? No
La modalità Lite mostra gli stessi riquadri della API Maps Static. Ciò significa che se la planimetria interna è integrata nel riquadro predefinito, che verrà visualizzato. In caso contrario, non sarà possibile. Inoltre, non puoi modificare il livello o manipolare un selettore di livelli.
Livello di traffico
Supportato? No
GoogleMap.setTrafficEnabled() non supportato in modalità Lite.
Overlay del suolo
Supportato? No
GoogleMap.addGroundOverlay() non è supportato nella versione Lite .
Overlay riquadro
Supportato? No
GoogleMap.addTileOverlay() non è supportato nella versione Lite .
Gesti
Supportato? No
La modalità Lite non supporta i gesti. Attivazione e disattivazione dei gesti non avranno alcun effetto.
Street View
Supportato? No
Street View è non supportata in modalità Lite.