Utiliser des ID de carte

Les ID de carte sont des identifiants que vous pouvez créer dans Google Cloud Console avant de les associer à un style, puis de les ajouter au code de votre application afin d'appliquer ce style à une carte.

Lors de leur création, les ID de carte sont associés à un projet et limités à une seule plate-forme (Android, iOS, JavaScript) ou à l'API Maps Static.

Pour créer ou gérer des ID de carte dans Google Cloud Console, vous devez disposer du rôle IAM Propriétaire de projet ou Éditeur de projet.

Créer un ID de carte

Un ID de carte est un identifiant unique qui représente une seule instance d'une carte Google. Vous pouvez créer des ID de carte et mettre à jour des styles associés à tout moment dans Cloud Console.

Pour créer un ID de carte, procédez comme suit :

  1. Dans Cloud Console, accédez à la page Gestion Maps.
  2. Cliquez sur Créer un ID de carte pour afficher le formulaire Créer un ID de carte.
    Créer un ID de carte

    Dans le formulaire, procédez comme suit :

    • Spécifiez un nom de carte.
    • Spécifiez un type de carte ou une plate-forme.
    • Pour les cartes JavaScript, choisissez le type matriciel ou vectoriel.
    • Saisissez une description pour la carte.
    • Cliquez sur Suivant pour afficher le nouvel ID de carte.

Associer un ID de carte à un style de carte

Dans ces instructions, nous partons du principe que votre projet contient au moins un style de carte.

  1. Dans Cloud Console, accédez à la page Gestion Maps.
  2. Sélectionnez un ID dans la colonne Nom de la carte.
  3. En bas du formulaire, choisissez un style de carte dans le menu déroulant Styles de carte associés à cet ID de carte.
  4. Sélectionnez Enregistrer.
    Capture d'écran représentant la page de détails associée à un ID de carte unique, y compris le champ de menu déroulant qui permet aux utilisateurs d'associer un style de carte à cet ID.

Ajouter un ID de carte dans votre application

Vous pouvez ajouter votre ID de carte via un élément <fragment> du fichier de mise en page de l'activité, à l'aide de la classe MapView ou de manière programmatique avec la classe GoogleMapOptions.

Par exemple, supposons que vous ayez créé un ID de carte stocké sous la forme d'une valeur de chaîne nommée map_id dans res/values/strings.xml :

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="map_id">YOUR_MAP_ID</string>
</resources>

Pour les cartes ajoutées via un élément <fragment> dans le fichier de mise en page de l'activité, tous les fragments de carte qui doivent avoir le style personnalisé doivent spécifier l'ID de carte dans l'attribut map:mapId :

<fragment xmlns:map="http://schemas.android.com/apk/res-auto"
    class="com.google.android.gms.maps.SupportMapFragment"
    …
    map:mapId="@string/map_id" />

Vous pouvez également utiliser l'attribut map:mapId de la classe MapView pour spécifier un ID de carte :

<com.google.android.gms.maps.MapView
    xmlns:android="http://schemas.android.com/apk/res/android"
    ....
    map:mapId="@string/map_id" />

Pour spécifier un ID de carte de manière programmatique, transmettez-le à une instance MapFragment à l'aide de la classe GoogleMapOptions :

Java

  MapFragment mapFragment = MapFragment.newInstance(
      new GoogleMapOptions()
          .mapId(getResources().getString(R.string.map_id)));

Kotlin

  val mapFragment = MapFragment.newInstance(
      GoogleMapOptions()
          .mapId(resources.getString(R.string.map_id))
  )

Dans Android Studio, créez et exécutez votre application comme vous le faites d'habitude. Les styles personnalisés tels que configurés à la première étape seront appliqués à toutes les cartes avec un ID.