Configuration d'un projet existant

Cette page explique comment configurer un projet Android existant afin d'utiliser le SDK Maps pour Android si votre projet n'est pas de type Google Maps. Pour créer une application qui utilise le type de projet Google Maps, consultez le guide de démarrage.

Présentation

Le processus général d'ajout d'une carte à une application Android est le suivant :

  1. Installez Android Studio.
  2. Installez et configurez le SDK des services Google Play, qui inclut le SDK Maps pour Android. Remarque : Si vous utilisez le SDK Maps pour Android avec la licence correspondant au forfait Premium Google Maps Platform, vous devez plutôt télécharger et configurer le SDK Premium Plan.
  3. Obtenez une clé API. Pour ce faire, vous devez enregistrer un projet dans la console Google Cloud Console, créer une clé API et la restreindre à l'aide du certificat de signature de votre application.
  4. Ajoutez les paramètres obligatoires au fichier manifeste de votre application.
  5. Ajoutez la dépendance Maps au fichier build.gradle au niveau de votre application.

Les sections ci-dessous décrivent plus en détail les différentes étapes de ce processus.

Télécharger Android Studio

Suivez les guides pour télécharger et installer Android Studio.

Installer le SDK des services Google Play

Vous devez créer un projet Android pour votre application afin d'effectuer les étapes de cette section. Si vous n'avez pas encore créé d'application Android, vous pouvez suivre le guide de création d'une nouvelle application (hello world). Consultez la section Créer un projet Android.

Le SDK Maps pour Android est intégré au SDK des services Google Play. Vous pouvez télécharger le SDK des services Google Play en utilisant Android SDK Manager.

Pour des instructions détaillées, consultez la documentation des services Google Play.

Obtenir une clé API Google Maps

  1. Activez la facturation dans votre projet. Pour plus d'informations, consultez Créer un compte de facturation.
  2. Dans la Cloud Console, activez le SDK Maps pour Android dans votre projet. Pour plus d'informations, consultez Activer des API.
  3. Consultez le guide Obtenir une clé API pour obtenir, ajouter et restreindre une clé API.

Ajouter les paramètres requis au fichier manifeste de votre application

Modifiez le fichier AndroidManifest.xml de votre application et ajoutez les paramètres suivants.

Indiquer le numéro de version des services Google Play

Ajoutez la déclaration suivante à l'élément <application> de AndroidManifest.xml pour intégrer la version des services Google Play avec laquelle l'application a été compilée.

<meta-data
    android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />

Spécifier votre clé API

Assurez-vous d'inclure votre clé API dans le fichier AndroidManifest.xml, comme décrit dans le guide Obtenir une clé API.

Spécifier les autorisations Android

Spécifiez les autorisations dont votre application a besoin en ajoutant les éléments <uses-permission> en tant qu'enfants de l'élément <manifest> dans le fichier AndroidManifest.xml.

Autorisations de géolocalisation

Si votre application accède à la position actuelle de l'utilisateur en activant le calque Ma position, vous devez demander des autorisations de géolocalisation comme décrit dans le guide des données de localisation.

Autorisation de stockage externe

Si vous envisagez d'utiliser la version 8.3 ou ultérieure du SDK des services Google Play, vous n'avez plus besoin de l'autorisation WRITE_EXTERNAL_STORAGE pour utiliser le SDK Maps pour Android.

Si vous envisagez d'utiliser des versions antérieures du SDK des services Google Play, vous devez demander l'autorisation android.permission.WRITE_EXTERNAL_STORAGE.

<uses-permission
        android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Remarque : Si votre application cible le niveau d'API 23 (Android 6.0), qui nécessite l'utilisation d'autorisations d'exécution, vous devez cibler la version 8.3 ou ultérieure du SDK des services Google Play.

Autorisations fusionnées automatiquement dans votre fichier manifeste

Les autorisations suivantes sont définies dans le fichier manifeste des services Google Play et sont automatiquement fusionnées avec le fichier manifeste de votre application lors de la compilation. Vous n'avez pas besoin de les ajouter explicitement à votre fichier manifeste :

Spécifier l'obligation d'utiliser OpenGL ES version 2

Le SDK Maps pour Android utilise OpenGL ES version 2 pour effectuer le rendu de la carte. Le paramètre suivant est défini dans le fichier manifeste des services Google Play et est automatiquement fusionné avec le fichier manifeste de votre application lors de la compilation. Vous n'avez pas besoin de l'ajouter explicitement à votre fichier manifeste :

<uses-feature
        android:glEsVersion="0x00020000"
        android:required="true"/>

Les services externes sont ainsi notifiés de cette condition requise. Cela permet en particulier d'empêcher Google Play Store d'afficher votre application sur les appareils non compatibles avec OpenGL ES version 2.

Spécifier l'obligation d'utiliser la bibliothèque Apache HTTP Legacy

Si vous utilisez com.google.android.gms:play-services-maps:16.0.0 ou une version antérieure et que votre application cible le niveau d'API 28 (Android 9.0) ou supérieur, vous devez inclure la déclaration suivante dans l'élément <application> de AndroidManifest.xml.

  <uses-library
      android:name="org.apache.http.legacy"
      android:required="false" />

Cette opération est effectuée à votre place si vous utilisez com.google.android.gms:play-services-maps:16.1.0. Elle n'est pas nécessaire si votre application cible un niveau d'API inférieur.

Ajouter la dépendance Maps

Dans le fichier build.gradle au niveau de votre application, ajoutez la dépendance Maps suivante :

dependencies {
    implementation 'com.google.android.gms:play-services-maps:17.0.0'
    // ...
}

Étapes suivantes

Une fois votre projet configuré, vous pouvez ajouter une carte.