Nuovo renderer mappa

Un renderer di mappe aggiornato è disponibile a partire dalla versione 18.0.0 di Maps SDK for Android. Questo renderer apporta molti miglioramenti, incluso il supporto per lo stile delle mappe basato su cloud. Puoi decidere di provare il nuovo renderer prima che diventi quello predefinito per i dispositivi Android, tramite un'implementazione progressiva a partire da giugno 2022.

Il nuovo renderer fornisce i seguenti vantaggi:

  • Le funzionalità di stile di mappe basate su cloud sono disponibili con il nuovo renderer.
  • Personalizzazioni avanzate di polilinea sono disponibili con il nuovo renderer.
  • Riduzione del carico di rete, della domanda di elaborazione e del consumo di memoria.
  • Migliore gestione dei gesti per animazioni migliori, oltre a una panoramica e uno zoom più fluidi.
  • Transizioni più fluide ed etichette delle mappe posizionate in modo chiaro.
  • Un'esperienza utente più stabile e migliorata.

Dispositivi supportati

Per utilizzare il nuovo renderer, i dispositivi devono soddisfare i seguenti criteri:

  • Android 5.0 (livello API 21) o versioni successive
  • Almeno 2 GB di spazio di archiviazione dati
  • utilizzando Google Play Services 21.39.14 o versioni successive

I dispositivi che utilizzano Android 4.4 W (livello API 20) e versioni precedenti o con meno di 2 GB di spazio di archiviazione dati o che utilizzano le versioni di Google Play Services 21.39.13 o precedenti, continueranno a utilizzare il renderer precedente.

Come provare il nuovo renderer

Per attivare il nuovo renderer, procedi nel seguente modo:

Il tuo codice deve chiamare MapsInitializer.initialize() prima della creazione di qualsiasi elemento MapView, MapFragment o SupportMapFragment. Ti consigliamo di chiamarla in onCreate per la tua app Application o Activity prima che venga impostata la visualizzazione dei contenuti.

L'esempio seguente mostra come chiamare MapsInitializer.initialize() per richiedere una versione del renderer.

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.LATEST, 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;
    }
  }
}

      

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.LATEST, 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.")
    }
  }
}