Un moteur de rendu de carte plus performant est disponible à partir de la version 18.0.0 du SDK Maps pour Android. Ce moteur de rendu offre de nombreuses améliorations, y compris la prise en charge de la personnalisation de cartes dans Google Cloud. Vous pouvez l'activer pour l'essayer avant qu'il ne devienne le moteur de rendu par défaut sur les appareils Android, au terme d'un déploiement progressif prévu à partir de juin 2022 au plus tôt.
Ce nouveau moteur de rendu offre les avantages suivants :
- Disponibilité des fonctionnalités de personnalisation de cartes dans Google Cloud
- Disponibilité des fonctionnalités de personnalisation de polylignes avancée
- Réduction de la charge réseau, de la demande de traitement et de la consommation de mémoire
- Amélioration du traitement des gestes pour de meilleures animations, et affichage panoramique et zoom plus fluides
- Transitions plus fluides et libellés de carte bien positionnés
- Amélioration de l'expérience utilisateur et stabilité accrue
Appareils compatibles
Pour utiliser le nouveau moteur de rendu, les appareils doivent répondre aux critères suivants :
- Android 5.0 (niveau d'API 21) ou version ultérieure
- Au moins 2 Go d'espace de stockage
- Version 21.39.14 ou ultérieure des services Google Play
Les appareils qui fonctionnent sous Android 4.4W (niveau d'API 20) ou une version antérieure, dont l'espace de stockage est inférieur à 2 Go, ou qui utilisent les services Google Play 21.39.13 ou une version antérieure, continueront d'utiliser l'ancien moteur de rendu.
Essayer le nouveau moteur de rendu
Pour activer le nouveau moteur de rendu :
- mettez à jour les dépendances de votre application pour utiliser
com.google.android.gms:play-services-maps:18.0.0
ou une version ultérieure ; - mettez à jour votre code pour importer explicitement
MapsInitializer
etMapsInitializer.Renderer
; - mettez à jour votre code pour appeler
MapsInitializer.initialize()
afin de demanderRenderer.LATEST
; - utilisez la fonction
OnMapsSdkInitializedCallback
pour déterminer la version du moteur de rendu renvoyée.
Votre code doit appeler MapsInitializer.initialize()
avant la création de toute instance MapView
, MapFragment
ou SupportMapFragment
. Nous vous recommandons d'appeler cette méthode dans onCreate
pour l'élément Application
ou Activity
de votre application avant que l'affichage de son contenu ne soit défini.
L'exemple suivant montre comment appeler MapsInitializer.initialize()
pour demander une version de moteur de rendu.
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.") } } }