Configuración del proyecto

A modo de continuación de la guía de introducción, en esta página, se describe toda la configuración que necesitas en tu proyecto de desarrollo cuando utilizas Maps SDK for Android en tu app para Android.

Descripción general

A continuación, se incluye el proceso general que permite agregar un mapa a una app para Android:

  1. Instala Android Studio.
  2. Instala y configura el SDK de Servicios de Google Play, que incluye Maps SDK for Android. Nota: Si utilizas Maps SDK for Android con una licencia de un plan premium de Google Maps Platform, debes descargar y configurar el SDK del plan premium.
  3. Obtén una clave de API. Para ello, deberás registrar un proyecto en Google Cloud Platform Console, crear una clave de API y restringirla con el certificado de firma de tu app.
  4. Agrega la configuración requerida al manifiesto de tu aplicación.

A continuación, se incluyen más detalles sobre cada paso del proceso.

Paso 1. Descarga Android Studio

Sigue las guías para descargar y, luego, instalar Android Studio.

Paso 2. Instala el SDK de Servicios de Google Play

A fin de completar los pasos de esta sección, debes tener un proyecto de Android para tu app. Si aún no creaste una aplicación para Android, puedes seguir la guía a fin de crear una app "Hola mundo". Para ello, consulta Cómo crear un proyecto de Android.

Maps SDK for Android se distribuye como parte del SDK de Servicios de Google Play. Este último se puede descargar a través de Android SDK Manager.

Para obtener instrucciones detalladas, consulta la documentación de Servicios de Google Play.

Obtén una clave de API de Google Maps

A fin de utilizar Maps SDK for Android, debes registrar tu proyecto de app en Google Cloud Platform Console y obtener una clave de API de Google que puedes agregar a tu app.

Para conocer más detalles, consulta la guía Cómo obtener una clave de API.

Agrega la configuración requerida al manifiesto de tu app

Edita el archivo AndroidManifest.xml de tu aplicación y agrega la siguiente configuración.

Especifica el número de versión de Servicios de Google Play

Agrega la siguiente declaración al elemento <application> del archivo AndroidManifest.xml. Esto incorporará la versión de Servicios de Google Play con la que se compiló la app.

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

Especifica tu clave de API

Asegúrate de incluir tu clave de API en el archivo AndroidManifest.xml, según se describe en la guía Cómo obtener una clave de API.

Especifica los permisos de Android

Para especificar los permisos que necesita tu aplicación, agrega los elementos <uses-permission> como secundarios del elemento <manifest> en el archivo AndroidManifest.xml.

Permisos de ubicación

Si tu aplicación habilita la capa Mi ubicación para acceder a la ubicación actual del usuario, debes solicitar permisos de ubicación como se describe en la guía sobre los datos de ubicación.

Permiso de almacenamiento externo

Si te orientas a la versión 8.3 o una posterior del SDK de Servicios de Google Play, ya no necesitarás el permiso WRITE_EXTERNAL_STORAGE a fin de usar Maps SDK for Android.

Si te orientas a versiones anteriores del SDK de Servicios de Google Play, debes solicitar el permiso android.permission.WRITE_EXTERNAL_STORAGE.

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

Nota: Si tu app se orienta a la API nivel 23 (Android 6.0), que requiere el uso de permisos de tiempo de ejecución, deberías orientarte a la versión 8.3 o una posterior del SDK de Servicios de Google Play.

Permisos que se combinan automáticamente con tu manifiesto

Los siguientes permisos se definen en el manifiesto de Servicios de Google Play y se combinan automáticamente con el manifiesto de tu app en el tiempo de compilación. No es necesario que los agregues de manera explícita a tu manifiesto:

Especifica el requisito para la versión 2 de OpenGL ES

Maps SDK for Android renderiza el mapa con la versión 2 de OpenGL ES. La siguiente configuración se define en el manifiesto de Servicios de Google Play y se combina automáticamente con el manifiesto de tu app en el tiempo de compilación. Es decir, no es necesario que agregues la configuración de manera explícita a tu manifiesto:

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

Esto notifica el requisito a los servicios externos. En particular, evita que Google Play Store muestre tu app en dispositivos que no admiten la versión 2 de OpenGL ES.

Especifica el requisito para la biblioteca heredada del HTTP de Apache

Si utilizas com.google.android.gms:play-services-maps:16.0.0 o versiones anteriores, y tu app se orienta a la API nivel 28 (Android 9.0) o una posterior, debes incluir la siguiente declaración en el elemento <application> del archivo AndroidManifest.xml.

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

Esto se controla automáticamente si utilizas com.google.android.gms:play-services-maps:16.1.0 y no es necesario si tu app se orienta a una API nivel inferior.