Nuovo renderer della mappa

A partire dalla versione 18.2.0 dell'SDK Maps per Android è disponibile un renderer della mappa aggiornato. Questo renderer introduce molti miglioramenti, tra cui il supporto dello stile delle mappe basato sul cloud.

Il nuovo renderer offre i seguenti vantaggi:

  • Le funzionalità di Personalizzazione delle mappe basata su cloud sono disponibili con il nuovo renderer.
  • Personalizzazioni avanzate delle polilinee sono disponibili con il nuovo renderer.
  • Riduzione del carico di rete, della richiesta di elaborazione e del consumo di memoria.
  • Gestione dei gesti migliorata per animazioni migliori, panoramica e zoom più fluidi.
  • Transizioni più fluide ed etichette della 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 implementate in modo che utilizzino il renderer aggiornato. Gli aggiornamenti automatici sono stati applicati a tutte le app in esecuzione sui dispositivi che soddisfano i requisiti minimi del dispositivo, indipendentemente dalla versione dell'SDK Maps per Android utilizzata dall'app. L'implementazione è ora completata.

Gli aggiornamenti automatici non sono stati applicati a:

  • App che sono già state aggiornate per utilizzare il renderer aggiornato.

  • App che hanno disattivato esplicitamente l'upgrade.

  • App in esecuzione su dispositivi che non soddisfano i requisiti minimi del dispositivo.

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
  • Utilizzo di Google Play Services 21.39.14 o versioni successive

I dispositivi che utilizzano Android 4.4W (livello API 20) e versioni precedenti o Google Play Services versione 21.39.13 o precedenti continuano a utilizzare il renderer legacy.

Disattivare l'utilizzo del renderer aggiornato

Se necessario, puoi disattivare esplicitamente l'utilizzo del renderer aggiornato per utilizzare il renderer precedente nella tua app.

Per disattivare la funzionalità:

Il codice deve chiamare MapsInitializer.initialize() prima che venga creato MapView, MapFragment, o SupportMapFragment. Ti consigliamo di chiamare questo metodo in onCreate per l'applicazione o l'attività della tua app, prima di impostare la visualizzazione dei contenuti.

L'esempio seguente mostra come chiamare MapsInitializer.initialize() per disattivare l'utilizzo del renderer 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;
    }
  }
}