Ein aktualisierter Karten-Renderer ist ab Version 18.0.0 des Maps SDK for Android verfügbar. Er umfasst viele Verbesserungen, beispielsweise wird nun das cloudbasierte Gestalten von Karteninhalten unterstützt. Sie können den neuen Renderer testen, bevor er zum Standard-Renderer für Android-Geräte wird. Die schrittweise Einführung beginnt frühestens im Juni 2022.
Der neue Renderer bietet folgende Vorteile:
- Cloudbasiertes Gestalten von Karteninhalten
- Erweiterte Anpassungen von Polylinien
- Netzwerklast, Verarbeitungsbedarf und Arbeitsspeicherverbrauch sind geringer.
- Optimierungen bei der Gestenhandhabung sorgen für bessere Animationen. Außerdem: flüssigeres Schwenken und Zoomen
- Die Übergänge sind flüssiger und die Kartenlabels übersichtlich positioniert.
- Der Renderer sorgt für beständig größere Nutzerfreundlichkeit.
Unterstützte Geräte
Geräte, auf denen der neue Renderer verwendet werden soll, müssen folgende Voraussetzungen erfüllen:
- Android 5.0 (API-Level 21) oder höher
- Mindestens 2 GB Datenspeicher
- Version 21.39.14 der Google Play-Dienste oder höher installiert
Auf Geräten mit Android 4.4W (API-Level 20) und früher, mit weniger als 2 GB Datenspeicher oder mit Version 21.39.13 der Google Play-Dienste und älter wird weiterhin der alte Renderer verwendet.
Den neuen Renderer ausprobieren
So aktivieren Sie den neuen Renderer:
- Aktualisieren Sie Ihre App-Abhängigkeiten, um
com.google.android.gms:play-services-maps:18.0.0
oder höher zu verwenden. - Aktualisieren Sie Ihren Code so, dass
MapsInitializer
undMapsInitializer.Renderer
explizit importiert werden. - Aktualisieren Sie Ihren Code, um
MapsInitializer.initialize()
aufzurufen undRenderer.LATEST
anzufordern. - Mit
OnMapsSdkInitializedCallback
lässt sich bestimmen, welche Version des Renderers zurückgegeben wurde.
Von Ihrem Code muss MapsInitializer.initialize()
aufgerufen werden, bevor MapView
, MapFragment
oder SupportMapFragment
erstellt worden ist. Wir empfehlen den Aufruf in onCreate
für die Application
oder Activity
Ihrer App, bevor die Inhaltsansicht festgelegt wird.
Das folgende Beispiel zeigt, wie MapsInitializer.initialize()
aufgerufen wird, um eine Renderer-Version anzufordern.
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.") } } }