Nuovo renderer della mappa

Un renderer di mappe aggiornato è disponibile a partire dalla versione 18.2.0 del Maps SDK per Android. Questo renderer apporta molti miglioramenti, incluso il supporto per Personalizzazione delle mappe basata su cloud.

Il nuovo renderer 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 sulla 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 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 già aggiornate per l'utilizzo del renderer aggiornato.

  • 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 renderer delle mappe aggiornato, 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à:

Il codice deve chiamare MapsInitializer.initialize() prima di qualsiasi MapView, MapFragment, o SupportMapFragment è stata creata. 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() a disattiva 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;
    }
  }
}