Un renderer di mappe aggiornato è disponibile a partire dalla versione 18.2.0 del Maps SDK per Android. Questo renderer apporta molti miglioramenti, incluso il supporto per Personalizzazione delle mappe basata su cloud.
Il nuovo renderer offre i seguenti vantaggi:
- Personalizzazione delle mappe basata su cloud sono disponibili con il nuovo renderer.
- Personalizzazioni avanzate di Polyline disponibili con il nuovo renderer.
- Carico di rete, domanda di elaborazione e consumo di memoria ridotti.
- Gestione dei gesti migliorata per animazioni migliori, panoramica e eseguire lo zoom.
- Transizioni più fluide ed etichette sulla mappa posizionate in modo chiaro.
- Un'esperienza utente più stabile e migliorata.
Stato dell'aggiornamento automatico
A marzo 2024, Google ha iniziato ad aggiornare automaticamente tutte le app di cui è stato eseguito il deployment in modo che il renderer aggiornato. Gli aggiornamenti automatici sono stati applicati a tutte le app in esecuzione Su dispositivi che soddisfano i requisiti minimi dei dispositivi, a prescindere dalla versione dell'SDK Maps per Android utilizzata dall'app. Questa implementazione è completa.
Gli aggiornamenti automatici non si applicavano a:
App già aggiornate per l'utilizzo del renderer aggiornato.
App per le quali l'upgrade è stato esplicitamente disattivato.
App in esecuzione su dispositivi che non soddisfano il dispositivo minimo requisiti.
Dispositivi supportati
Per utilizzare il renderer delle mappe aggiornato, i dispositivi devono soddisfare i seguenti criteri:
- Android 5.0 (livello API 21) o versioni successive
- Utilizzo di Google Play Services versione 21.39.14 o successive
Dispositivi con Android 4.4W (livello API 20) e versioni precedenti o che utilizzano Google Play 21.39.13 o precedenti continuano a utilizzare il renderer legacy.
Disattiva l'utilizzo del renderer aggiornato
Se necessario, puoi disattivare esplicitamente l'utilizzo del renderer aggiornato per utilizzare con il renderer precedente nell'app.
Per disattivare la funzionalità:
Esegui l'upgrade di Maps SDK per Android ad v18.0 o successiva.
Aggiorna il codice per importare esplicitamente MapsInitializer e MapsInitializer.Renderer.
Aggiorna il codice per chiamare
MapsInitializer.initialize()
, passandoRenderer.LEGACY
per disattivare e utilizzare il renderer precedente.Usa OnMapsSdkInitializedCallback per determinare quale versione del renderer è stata restituita.
Il codice deve chiamare
MapsInitializer.initialize()
prima di qualsiasi
MapView,
MapFragment,
o
SupportMapFragment
è stata creata. Ti consigliamo di chiamarlo in onCreate
per
Applicazione,
o
Attività,
prima che venga impostata la visualizzazione del contenuto.
L'esempio seguente mostra come chiamare MapsInitializer.initialize()
a
disattiva il renderer delle mappe precedente.
Kotlin
import com.google.android.gms.maps.MapsInitializer import com.google.android.gms.maps.MapsInitializer.Renderer import com.google.android.gms.maps.OnMapsSdkInitializedCallback internal class MapRendererOptInApplication : Application(), OnMapsSdkInitializedCallback { override fun onCreate() { super.onCreate() MapsInitializer.initialize(applicationContext, Renderer.LEGACY, this) } override fun onMapsSdkInitialized(renderer: MapsInitializer.Renderer) { when (renderer) { Renderer.LATEST -> Log.d("MapsDemo", "The latest version of the renderer is used.") Renderer.LEGACY -> Log.d("MapsDemo", "The legacy version of the renderer is used.") } } }
Java
import com.google.android.gms.maps.MapsInitializer; import com.google.android.gms.maps.MapsInitializer.Renderer; import com.google.android.gms.maps.OnMapsSdkInitializedCallback; class MapRendererOptInApplication extends Application implements OnMapsSdkInitializedCallback { @Override public void onCreate() { super.onCreate(); MapsInitializer.initialize(getApplicationContext(), Renderer.LEGACY, this); } @Override public void onMapsSdkInitialized(MapsInitializer.Renderer renderer) { switch (renderer) { case LATEST: Log.d("MapsDemo", "The latest version of the renderer is used."); break; case LEGACY: Log.d("MapsDemo", "The legacy version of the renderer is used."); break; } } }