Utiliser le SDK Maps pour Android v3.1.0 BÊTA

La version 3.1.0 bêta du SDK Maps pour Android est une nouvelle implémentation dotée de la même surface d'API que la version précédente (toutes les classes et méthodes restent identiques) et de nouvelles fonctionnalités à essayer :

  • Personnalisation de Maps
  • Gestion des collisions de repères
  • Personnalisation des polylignes

Ce guide vous explique comment utiliser les nouvelles fonctionnalités.

Personnalisation de Maps (bêta)

Les styles de cartes basés dans le cloud fournissent divers outils et fonctionnalités qui vous permettent de personnaliser et d'appliquer des styles à vos cartes plus simplement. Au lieu d'appliquer un style à vos cartes dans le code à l'aide des API et des SDK Google Maps, vous pouvez les gérer et leur appliquer un style dans la console Google Cloud. Pour en savoir plus, consultez Présentation de la personnalisation des cartes Android.

Gestion des collisions de repères (bêta)

Vous pouvez indiquer si les repères personnalisés doivent remplacer les libellés de la carte de base par défaut en cas de collision, et pour indiquer une priorité relative entre les repères personnalisés. Pour plus d'informations, consultez Gérer les conflits de repères (Android).

Personnalisation des polylignes (bêta)

Vous pouvez désormais personnaliser l'apparence des polylignes de plusieurs manières :

  • Les polylignes multicolores contiennent des segments de différentes couleurs.
  • Les polylignes en dégradé sont colorées avec un dégradé de deux couleurs.
  • Les polylignes avec motif sont recouvertes de bitmaps qui se répètent.

Créer une polyligne multicolore

Vous pouvez utiliser des étendues pour colorer individuellement chaque segment d'une polyligne, en créant des objets StyleSpan et en les ajoutant à PolylineOptions à l'aide des méthodes addSpan() ou addSpans(). Par défaut, chaque élément dans le tableau définit la couleur du segment de ligne correspondant. L'exemple suivant montre comment définir des couleurs de segment pour créer une polyligne avec des segments rouges et verts :

Kotlin



val line = map.addPolyline(
    PolylineOptions()
        .add(LatLng(47.6677146, -122.3470447), LatLng(47.6442757, -122.2814693))
        .addSpan(StyleSpan(Color.RED))
        .addSpan(StyleSpan(Color.GREEN))
)

      

Java


Polyline line = map.addPolyline(new PolylineOptions()
        .add(new LatLng(47.6677146,-122.3470447), new LatLng(47.6442757,-122.2814693))
        .addSpan(new StyleSpan(Color.RED))
        .addSpan(new StyleSpan(Color.GREEN)));

      

Créer une polyligne en dégradé

Vous pouvez définir un dégradé en spécifiant deux entiers ARVB (alpha-rouge-vert-bleu) 32 bits qui indiquent les couleurs de début et de fin du trait. Définissez cette propriété sur l'objet d'options de la forme en appelant PolylineOptions.addSpan(). L'exemple suivant montre comment créer une polyligne en dégradé du rouge au jaune, depuis Woodland Park Zoo jusqu'à Kirkland, WA.

Kotlin



val line = map.addPolyline(
    PolylineOptions()
        .add(LatLng(47.6677146, -122.3470447), LatLng(47.6442757, -122.2814693))
        .addSpan(
            StyleSpan(
                StrokeStyle.gradientBuilder(
                    Color.RED,
                    Color.YELLOW
                ).build()
            )
        )
)

      

Java


Polyline line = map.addPolyline(new PolylineOptions()
        .add(new LatLng(47.6677146,-122.3470447), new LatLng(47.6442757,-122.2814693))
        .addSpan(new StyleSpan(StrokeStyle.gradientBuilder(Color.RED, Color.YELLOW).build())));

      

Créer une polyligne à motif

Vous pouvez créer une polyligne recouverte d'une texture de bitmaps qui se répètent. Pour ce faire, créez un StampStyle de TextureStyle, puis définissez cette propriété sur l'objet d'options de la forme en appelant PolylineOptions.addSpan() comme illustré ici :

Kotlin



val stampStyle =
    TextureStyle.newBuilder(BitmapDescriptorFactory.fromResource(R.drawable.walking_dot)).build()
val span = StyleSpan(StrokeStyle.colorBuilder(Color.RED).stamp(stampStyle).build())
map.addPolyline(
    PolylineOptions()
        .add(LatLng(47.6677146, -122.3470447), LatLng(47.6442757, -122.2814693))
        .addSpan(span)
)

      

Java


StampStyle stampStyle =
        TextureStyle.newBuilder(BitmapDescriptorFactory.fromResource(R.drawable.walking_dot)).build();
StyleSpan span = new StyleSpan(StrokeStyle.colorBuilder(Color.RED).stamp(stampStyle).build());
map.addPolyline(new PolylineOptions()
        .add(new LatLng(47.6677146,-122.3470447), new LatLng(47.6442757,-122.2814693))
        .addSpan(span));

      

Importer la bibliothèque d'utilitaires compatible avec la version bêta

Si vous utilisez la bibliothèque d'utilitaires de l'API Google Maps pour Android, vous devez également mettre à jour les dépendances de votre projet afin de remplacer la version existante par celle compatible avec la version bêta. Pour ce faire, procédez comme suit :

  1. Importez la bibliothèque d'utilitaires compatible avec la version bêta dans votre fichier build.gradle :
    implementation 'com.google.maps.android:android-maps-utils-v3:1.3.1'
    
  2. Supprimez les éléments suivants de votre fichier build.gradle pour supprimer la bibliothèque d'utilitaires non compatible avec la version bêta :
    implementation 'com.google.maps.android:android-maps-utils:1.3.1'
    

Exécuter les exemples

Le dépôt Google Samples sur GitHub inclut des exemples d'applications qui illustrent l'utilisation du SDK Maps pour Android version v3.1.0 bêta.