Guide de démarrage rapide avec le SDK Maps pour Android

Créez une application Android qui affiche une carte en utilisant le modèle Google Maps Views pour Android Studio. Si vous souhaitez configurer un projet Android Studio existant, consultez Configurer un projet Android Studio.

Ce guide de démarrage rapide est destiné aux développeurs qui connaissent déjà les bases du développement Android avec Kotlin ou Java.

À propos de l'environnement de développement

Ce guide de démarrage rapide a été développé en utilisant Android Studio Hedgehog la version 8.2 du plug-in Android Gradle.

Configurer un appareil Android

Pour exécuter une application qui utilise le SDK Maps pour Android, vous devez la déployer sur un appareil Android, ou sur un émulateur Android qui exécute Android 4.0 (ou une version ultérieure) et inclut les API Google.

  • Pour utiliser un appareil Android, suivez les instructions fournies dans Exécuter des applications sur un appareil matériel.
  • Pour utiliser un émulateur Android, vous pouvez créer un appareil virtuel et installer l'émulateur à l'aide d'AVD Manager (le gestionnaire d'appareils virtuels Android) fourni avec Android Studio.

Créer un projet Google Maps dans Android Studio

La procédure à suivre pour créer un projet Google Maps dans Android Studio a été modifiée dans les versions Flamingo et ultérieures d'Android Studio.

  1. Ouvrez Android Studio, puis cliquez sur Create New Project (Créer un projet) dans la fenêtre Welcome to Android Studio (Bienvenue dans Android Studio).

  2. Dans la fenêtre New project (Nouveau projet), dans la catégorie Phone and Tablet (Téléphone et tablette), sélectionnez No Activity (Aucune activité), puis cliquez sur Next (Suivant).

  3. Remplissez le formulaire New Project (Nouveau projet) :

    • Définissez le paramètre Language (Langage) sur Java ou Kotlin. Les deux langages sont entièrement compatibles avec le SDK Maps pour Android. Pour en savoir plus sur Kotlin, consultez Développer des applications Android en Kotlin.

    • Définissez le Minimum SDK (SDK minimal) sur une version du SDK compatible avec votre appareil de test. Vous devez sélectionner une version supérieure à la version minimale requise par le SDK Maps pour Android version 18.2.x, qui est au niveau d'API Android 19 ("KitKat", Android 4.4) ou une version ultérieure. Pour obtenir les dernières informations sur les versions requises du SDK, consultez les notes de version.

    • Définissez Build configuration language (Langage de configuration de compilation) sur le DSL Kotlin ou Groovy. Les extraits correspondant à ces deux langages de configuration de compilation sont indiqués dans les procédures ci-dessous.

  4. Cliquez sur Terminer.

    Android Studio démarre Gradle et crée le projet. Cela peut prendre un certain temps.

  5. Ajoutez l'activité Google Maps Views :

    1. Effectuez un clic droit sur le dossier app dans votre projet.
    2. Sélectionnez New > Google > Google Maps Views Activity (Nouveau > Google > Activité Google Maps Views).

      Ajoutez une activité Google Maps.

    3. Dans la boîte de dialogue New Android Activity (Nouvelle activité Android), cochez la case Launcher Activity (Activité du lanceur).

    4. Sélectionnez Finish (Terminer).

      Pour en savoir plus, consultez Ajouter du code à partir d'un modèle.

  6. Une fois le projet compilé, Android Studio ouvre les fichiers AndroidManifest.xml et MapsActivity. Votre activité peut avoir un nom différent, à savoir celui que vous avez défini durant la configuration.

Configurer votre projet Google Cloud

Suivez les étapes de configuration requises dans la console Cloud en cliquant sur les onglets suivants :

Étape 1

Console

  1. Dans la console Google Cloud, sur la page du sélecteur de projet, cliquez sur Créer un projet pour créer un projet Cloud.

    Accéder à la page du sélecteur de projet

  2. Assurez-vous que la facturation est activée pour votre projet Cloud. Vérifier si la facturation est activée sur un projet

    Vous pouvez tester Google Cloud sans frais. La période d'essai expire au bout de 90 jours ou après que le compte a enregistré 300 $ de frais (selon la première échéance atteinte). Vous pouvez résilier à tout moment. Google Maps Platform propose un crédit mensuel récurrent de 200 $. Pour en savoir plus, consultez Crédits de compte de facturation et Facturation.

Cloud SDK

gcloud projects create "PROJECT"

En savoir plus sur le Google Cloud SDK, l'installation du Cloud SDK et les commandes suivantes :

Étape 2

Pour utiliser Google Maps Platform, vous devez activer les API ou les SDK que vous prévoyez d'utiliser avec votre projet.

Console

Activer le SDK Maps pour Android

Cloud SDK

gcloud services enable \
    --project "PROJECT" \
    "maps-android-backend.googleapis.com"

En savoir plus sur le Google Cloud SDK, l'installation du Cloud SDK et les commandes suivantes :

Étape 3

Cette étape concerne uniquement le processus de création de la clé API. Si vous utilisez votre clé API en production, nous vous recommandons vivement de la restreindre. Vous trouverez plus d'informations sur la page Utiliser des clés API spécifique au produit.

Une clé API est un identifiant unique qui permet d'authentifier les requêtes associées à votre projet à des fins d'utilisation et de facturation. Vous devez associer au moins une clé API à votre projet.

Pour créer une clé API :

Console

  1. Accédez à la page Google Maps Platform > Identifiants.

    Accéder à la page "Identifiants"

  2. Sur la page Identifiants, cliquez sur Créer des identifiants > Clé API.
    La boîte de dialogue Clé API créée affiche la clé API que vous venez de créer.
  3. Cliquez sur Fermer.
    La nouvelle clé API figure sur la page Identifiants sous Clés API.
    (N'oubliez pas de restreindre la clé API avant de l'utiliser en production.)

Cloud SDK

gcloud alpha services api-keys create \
    --project "PROJECT" \
    --display-name "DISPLAY_NAME"

En savoir plus sur le Google Cloud SDK, l'installation du Cloud SDK et les commandes suivantes :

Ajouter la clé API à votre application

Cette section explique comment stocker votre clé API pour qu'elle puisse être référencée de manière sécurisée par votre application. Vous ne devez pas enregistrer votre clé API dans votre système de contrôle des versions. Nous vous recommandons donc de la stocker dans le fichier secrets.properties, qui se trouve dans le répertoire racine de votre projet. Pour en savoir plus sur le fichier secrets.properties, consultez Fichiers de propriétés Gradle.

Pour vous faciliter la tâche, nous vous recommandons d'utiliser le plug-in Secrets Gradle pour Android.

Pour installer le plug-in Secrets Gradle pour Android dans votre projet Google Maps :

  1. Dans Android Studio, ouvrez votre fichier build.gradle ou build.gradle.kts de premier niveau et ajoutez le code suivant à l'élément dependencies sous buildscript.

    Groovy

    buildscript {
        dependencies {
            classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1"
        }
    }

    Kotlin

    buildscript {
        dependencies {
            classpath("com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1")
        }
    }
    
  2. Ouvrez le fichier build.gradle au niveau du module et ajoutez le code suivant à l'élément plugins.

    Groovy

    plugins {
        // ...
        id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
    }

    Kotlin

    plugins {
        id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin")
    }
  3. Dans le fichier build.gradle au niveau du module, assurez-vous que targetSdk et compileSdk sont définis sur 34.
  4. Enregistrez le fichier et synchronisez votre projet avec Gradle.
  5. Ouvrez le fichier secrets.properties dans votre répertoire de premier niveau et ajoutez le code suivant. Remplacez YOUR_API_KEY par votre clé API. Stockez votre clé dans ce fichier, car secrets.properties n'est pas vérifié dans un système de contrôle des versions.
    MAPS_API_KEY=YOUR_API_KEY
  6. Enregistrez le fichier.
  7. Créez le fichier local.defaults.properties dans votre répertoire de premier niveau (même dossier que le fichier secrets.properties), puis ajoutez le code suivant.

    MAPS_API_KEY=DEFAULT_API_KEY

    Ce fichier a pour but de fournir un emplacement de sauvegarde de la clé API, à utiliser si le fichier secrets.properties est introuvable pour éviter l'échec des créations. Cette situation peut se produire si vous clonez l'application à partir d'un système de contrôle des versions qui omet secrets.properties et que vous n'avez pas encore créé de fichier secrets.properties localement pour fournir votre clé API.

  8. Enregistrez le fichier.
  9. Dans votre fichier AndroidManifest.xml, accédez à com.google.android.geo.API_KEY, puis modifiez le android:value attribute. Si le tag <meta-data> n'existe pas, créez-le comme enfant du tag <application>.
    <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="${MAPS_API_KEY}" />

    Note: com.google.android.geo.API_KEY is the recommended metadata name for the API key. A key with this name can be used to authenticate to multiple Google Maps-based APIs on the Android platform, including the Maps SDK for Android. For backwards compatibility, the API also supports the name com.google.android.maps.v2.API_KEY. This legacy name allows authentication to the Android Maps API v2 only. An application can specify only one of the API key metadata names. If both are specified, the API throws an exception.

  10. In Android Studio, open your module-level build.gradle or build.gradle.kts file and edit the secrets property. If the secrets property does not exist, add it.

    Edit the properties of the plugin to set propertiesFileName to secrets.properties, set defaultPropertiesFileName to local.defaults.properties, and set any other properties.

    Groovy

    secrets {
        // Optionally specify a different file name containing your secrets.
        // The plugin defaults to "local.properties"
        propertiesFileName = "secrets.properties"
    
        // A properties file containing default secret values. This file can be
        // checked in version control.
        defaultPropertiesFileName = "local.defaults.properties"
    
        // Configure which keys should be ignored by the plugin by providing regular expressions.
        // "sdk.dir" is ignored by default.
        ignoreList.add("keyToIgnore") // Ignore the key "keyToIgnore"
        ignoreList.add("sdk.*")       // Ignore all keys matching the regexp "sdk.*"
    }
            

    Kotlin

    secrets {
        // Optionally specify a different file name containing your secrets.
        // The plugin defaults to "local.properties"
        propertiesFileName = "secrets.properties"
    
        // A properties file containing default secret values. This file can be
        // checked in version control.
        defaultPropertiesFileName = "local.defaults.properties"
    
        // Configure which keys should be ignored by the plugin by providing regular expressions.
        // "sdk.dir" is ignored by default.
        ignoreList.add("keyToIgnore") // Ignore the key "keyToIgnore"
        ignoreList.add("sdk.*")       // Ignore all keys matching the regexp "sdk.*"
    }
            

Examiner le code

Examinez le code fourni par le modèle. Observez plus particulièrement les fichiers suivants dans votre projet Android Studio.

Fichier d'activité Maps

Le fichier d'activité Google Maps correspond à l'activité principale de l'application. Il contient le code permettant de gérer et d'afficher la carte. Par défaut, le fichier qui définit l'activité est nommé MapsActivity.java, ou MapsActivity.kt si vous sélectionnez Kotlin comme langage pour votre application.

Principaux éléments de l'activité Google Maps :

  • L'objet SupportMapFragment gère le cycle de vie de la carte et constitue l'élément parent de l'UI de l'application.

  • L'objet GoogleMap permet d'accéder aux données et à la vue de la carte. Il s'agit de la classe principale du SDK Maps pour Android. Le guide Objets de carte décrit plus en détail les objets SupportMapFragment et GoogleMap.

  • La fonction moveCamera centre la carte aux coordonnées LatLng de Sydney, en Australie. Les premiers paramètres à configurer pour ajouter une carte sont généralement la position de la carte et la caméra (par exemple, l'angle de vue, l'orientation de la carte et le niveau de zoom). Pour plus d'informations, consultez le guide Caméra et vue.

  • La fonction addMarker ajoute un repère aux coordonnées de Sydney. Consultez le guide Repères pour en savoir plus.

Fichier Gradle du module

Le fichier build.gradle du module inclut la dépendance Maps suivante, qui est nécessaire au SDK Maps pour Android.

dependencies {

    // Maps SDK for Android
    implementation 'com.google.android.gms:play-services-maps:18.2.0'
}

Pour en savoir plus sur la gestion des dépendances Maps, consultez Gestion des versions.

Fichier de mise en page XML

Le fichier activity_maps.xml est le fichier de mise en page XML qui définit la structure de l'UI de l'application. Il se trouve dans le répertoire res/layout. Le fichier activity_maps.xml déclare un fragment qui inclut les éléments suivants :

  • tools:context définit l'activité par défaut du fragment sur MapsActivity, spécifié dans le fichier d'activité Google Maps.
  • android:name définit le nom de classe du fragment sur SupportMapFragment, qui est le type de fragment utilisé dans le fichier d'activité Google Maps.

Le fichier de mise en page XML contient le code suivant :

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:map="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/map"
    android:name="com.google.android.gms.maps.SupportMapFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MapsActivity" />

Déployer et exécuter l'application

Capture d&#39;écran avec la carte et le repère centrés sur Sydney, en Australie.

Une fois l'application exécutée correctement, elle affiche une carte centrée sur Sydney, en Australie, avec un repère sur la ville tel qu'illustré dans la capture d'écran suivante.

Pour déployer et exécuter l'application :

  1. Dans Android Studio, cliquez sur l'option de menu Run (Exécuter) ou sur l'icône du bouton de lecture pour exécuter l'application.
  2. Lorsque vous êtes invité à choisir un appareil, choisissez l'une des options suivantes :
    • Sélectionnez l'appareil Android qui est connecté à votre ordinateur.
    • Vous pouvez également sélectionner la case d'option Launch emulator (Lancer l'émulateur) et choisir l'appareil virtuel que vous avez configuré.
  3. Cliquez sur OK. Android Studio démarrera Gradle pour compiler votre application, puis affichera les résultats sur votre appareil ou votre émulateur. Le lancement de l'application peut prendre plusieurs minutes.

Étapes suivantes

  • Configurer une carte : ce document explique comment configurer les paramètres initiaux et d'exécution de votre carte, comme la position de la caméra, le type de carte, les composants d'UI et les gestes.

  • Ajouter une carte à votre application Android (Kotlin) : cet atelier de programmation vous propose de créer une application qui présente certaines fonctionnalités supplémentaires du SDK Maps pour Android.

  • Utiliser la bibliothèque Maps Android KTX : cette bibliothèque d'extensions Kotlin (KTX) vous permet de bénéficier de plusieurs fonctionnalités en langage Kotlin, tout en utilisant le SDK Maps pour Android.