Nuovo renderer della mappa

Un renderer di mappe aggiornato è disponibile a partire dalla versione 18.2.0 del Maps SDK per Android. Questo visualizzatore offre molti miglioramenti, tra cui il supporto per lo stile delle mappe basate su cloud.

Il nuovo visualizzatore offre i seguenti vantaggi:

  • Personalizzazione delle mappe basata su cloud sono disponibili con il nuovo renderer.
  • Le personalizzazioni avanzate dei polilinee sono disponibili con il nuovo visualizzatore.
  • Riduzione del carico della rete, della domanda di elaborazione e del consumo di memoria.
  • Gestione dei gesti migliorata per animazioni migliori, nonché panoramica e zoom più fluidi.
  • 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 si applicavano 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 i requisiti minimi del dispositivo.

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

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

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à:

Il codice deve chiamare MapsInitializer.initialize() prima che sia stato creato un MapView, MapFragment o SupportMapFragment. 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() 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;
    }
  }
}