Un renderer della mappa aggiornato è disponibile a partire dalla versione 18.2.0 di Maps SDK per Android. Questo renderer offre molti miglioramenti, tra cui il supporto per la personalizzazione delle mappe basata su cloud.
Il nuovo renderer offre i seguenti vantaggi:
- Le funzionalità per la personalizzazione delle mappe basate su cloud sono disponibili con il nuovo renderer.
- Con il nuovo renderer sono disponibili le personalizzazioni avanzate di Polyline.
- Riduzione del carico di rete, della domanda di elaborazione e del consumo di memoria.
- Migliorata la gestione dei gesti per animazioni migliori, oltre a panoramica e zoom più fluidi.
- Transizioni più fluide e etichette della mappa posizionate in modo chiaro.
- Un'esperienza utente più stabile e migliorata.
Pianificazione dell'implementazione
A ottobre 2021, Google ha avviato il lancio del renderer della mappa aggiornato. A quel punto, potresti decidere di attivare il renderer aggiornato nella tua app.
Con il rilascio della versione 18.2.0 di Maps SDK for Android, Google ha cambiato il renderer predefinito dal renderer precedente a quello aggiornato. Con la versione 18.2.0, il renderer delle mappe utilizzato quando crei una nuova app o ricrei un'app esistente diventa il renderer delle mappe aggiornato.
Che cosa succede quando viene modificato il renderer predefinito?
Il renderer predefinito diventa il renderer aggiornato con il rilascio della versione 18.2.0 di Maps SDK for Android. Per usufruire del renderer aggiornato, devi creare nuove app o ricreare quelle esistenti utilizzando la nuova versione dell'SDK.
Tuttavia, puoi decidere di rifiutare la modifica. Se la disattivi, la tua app continua a usare il renderer precedente. Consulta l'articolo sulla disattivazione dell'utilizzo del renderer aggiornato per un codice di esempio sulla disattivazione.
Dispositivi supportati
Per utilizzare il renderer della mappa aggiornato, i dispositivi devono soddisfare i seguenti criteri:
- Android 5.0 (livello API 21) o versioni successive
- 2 GB o più di spazio di archiviazione dati
- Utilizzare Google Play Services 21.39.14 o versioni successive
I dispositivi che utilizzano Android 4.4W (livello API 20) e versioni precedenti o con meno di 2 GB di archiviazione dei dati o che utilizzano Google Play Services versione 21.39.13 o precedenti continuano a utilizzare il renderer precedente anche dopo che il renderer predefinito viene modificato al renderer delle mappe aggiornato.
Disattivazione dell'utilizzo del renderer aggiornato
Per impostazione predefinita, le app create con la versione 18.2.0 di Maps SDK for Android utilizzano il renderer aggiornato. Se necessario, puoi disattivare esplicitamente l'utilizzo del renderer aggiornato per utilizzare quello precedente nella tua app.
Per disattivare la funzionalità:
Aggiorna il codice per importare esplicitamente MapsInitializer e MapsInitializer.Renderer.
Aggiorna il codice per chiamare
MapsInitializer.initialize()
, passandoRenderer.LEGACY
per la disattivazione e utilizzando il renderer precedente.Utilizza OnMapsSdkInitializedCallback per determinare quale versione del renderer è stata restituita.
Il codice deve chiamare
MapsInitializer.initialize()
prima di creare qualsiasi elemento MapView,
MapFragment
o SupportMapFragment. Ti consigliamo di chiamare in onCreate
per l'Applicazione o l'Attività dell'app prima di impostare la relativa visualizzazione dei contenuti.
L'esempio seguente mostra come chiamare MapsInitializer.initialize()
per disattivare 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; } } }