Un renderer delle mappe di cui è stato eseguito l'upgrade è disponibile a partire dalla versione 18.2.0 del Maps SDK for Android. Questo renderer apporta molti miglioramenti, incluso il supporto per Personalizzazione delle mappe basata su cloud.
Il nuovo visualizzatore 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 delle mappe 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 sono stati applicati a:
App che sono già state aggiornate per utilizzare il renderer di cui è stato eseguito l'upgrade.
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 visualizzatore di mappe di cui è stato eseguito l'upgrade, 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 for Android alla versione 18.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.Utilizza OnMapsSdkInitializedCallback per determinare quale versione del visualizzatore è stata restituita.
Il codice deve chiamare
MapsInitializer.initialize()
prima di qualsiasi
MapView,
MapFragment,
o
SupportMapFragment
è stata creata. Ti consigliamo di chiamare questa funzione in onCreate
per l'applicazione o l'attività della tua app prima che venga impostata la visualizzazione dei contenuti.
L'esempio seguente mostra come chiamare MapsInitializer.initialize()
per disattivare l'utilizzo del visualizzatore di 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; } } }