Un moteur de rendu de carte mis à niveau est disponible à partir de la version 18.2.0 du SDK Maps pour Android. Il ajoute de nombreuses améliorations, y compris la compatibilité avec les styles de cartes basés dans le cloud.
Ce nouveau moteur de rendu offre les avantages suivants :
- Disponibilité des styles de cartes basés dans le cloud
- Disponibilité des fonctionnalités de personnalisation avancée des polylignes
- 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
- Expérience utilisateur plus stable et plus performante
Calendrier de déploiement
Google a commencé à déployer le moteur de rendu de carte mis à niveau en octobre 2021. À cette époque, vous pouviez choisir d'utiliser le moteur de rendu mis à niveau dans votre application.
En publiant la version 18.2.0 du SDK Maps pour Android, Google a remplacé l'ancien moteur de rendu par défaut par le moteur de rendu de carte mis à niveau. Avec la version 18.2.0, le moteur de rendu de carte utilisé lorsque vous créez une application ou recréez une application existante devient le moteur de rendu de carte mis à niveau.
Que se passe-t-il en cas de changement du moteur de rendu par défaut ?
Avec la publication de la version 18.2.0 du SDK Maps pour Android, le moteur de rendu par défaut est désormais le moteur de rendu mis à niveau. Pour exploiter tout son potentiel, vous devez créer vos applications ou recréer vos applications existantes à l'aide de la nouvelle version du SDK.
Toutefois, vous pouvez choisir de ne pas changer de moteur de rendu. Dans ce cas, votre application continue d'utiliser l'ancien moteur de rendu. Pour obtenir un exemple de code permettant de ne pas changer de moteur de rendu, consultez Choisir de ne pas utiliser le moteur de rendu mis à niveau.
Appareils compatibles
Pour utiliser le moteur de rendu mis à niveau, 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, même lorsque le moteur de rendu de carte mis à niveau sera devenu votre moteur de rendu par défaut.
Choisir de ne pas utiliser le moteur de rendu mis à niveau
Par défaut, les applications créées avec la version 18.2.0 du SDK Maps pour Android utilisent le moteur de rendu mis à niveau. Si nécessaire, vous pouvez choisir explicitement de ne pas utiliser le moteur de rendu mis à niveau afin d'utiliser l'ancien moteur de rendu dans votre application.
Procédez comme suit :
Mettez à jour votre code pour importer explicitement MapsInitializer et MapsInitializer.Renderer.
Mettez à jour votre code pour appeler
MapsInitializer.initialize()
, en transmettantRenderer.LEGACY
pour refuser le nouveau moteur de rendu et utiliser l'ancien.Utilisez OnMapsSdkInitializedCallback pour déterminer la version du moteur de rendu renvoyée.
Votre code doit appeler MapsInitializer.initialize()
avant la création de 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 choisir de conserver l'ancien moteur de rendu de carte.
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; } } }