Desarrollando en Android #2 Google Maps API

Desarrollando en Android #2 Google Maps API

Desarrollo y programación

Desarrollando en Android #2 Google Maps API

25 octubre, 2013 16:05

Puedes seguir anteriores artículos de esta sección aquí

En la aplicación vamos a usar los mapas de Google y por tanto, la API de Google Maps. Por experiencia previa, ya sabía que no era tan sencillo configurarlo todo para que funcione, así que este es el primer paso.

General

Los pasos que vamos a seguir para que todo funcione correctamente son:

  • Descargar y configurar los Google Play Services
  • Obtener una API key
  • Definir las especificaciones en el Application Manifest
  • Añadir un mapa a la aplicación.

¡Vamos a ello!

Descargar y configurar los Google Play Services

Este paso es bastante sencillo. Una vez nos hemos bajado todo el SDK de Android, lanzaremos el SDK Manager para descargarnos por un lado una versión del SDK igual o superior a Android 4.2.2 y por el otro lado, el paquete extra de Google Play Services.

Esto es debido a que ahora la API está distribuida como parte de los Google Play Services, y por tanto, necesitamos instalarlos. Una vez lo hayamos descargado, podremos encontrarlo en la carpeta /extras/google/google_play_services/. El siguiente paso es importar esta carpeta como una librería.

Para ello, basta con abrir el Eclipse y pulsar File -> Import -> Android -> Existing Android Code into Workspace y buscar la carpeta mencionada justo arriba.

Una vez importada la librería, hemos de referenciarla a nuestro proyecto. Para ello, pulsamos con el botón derecho en nuestro proyecto -> Properties -> Android  y en el apartado Library añadimos nuestra librería.

De esta manera ya tenemos configurados e instalados los Google Play Services y podemos pasar al siguiente punto.

Conseguir la API key de Google Maps

Para acceder a los servidores de Google Maps con la API de Google Maps tenemos que añadir una API key a nuestra aplicación. Esta llave estará asociada exclusivamente a nuestra app gracias a los certificados que usa Android y funcionará o no en función de ello. Así pues, necesitaremos ante todo la huella SHA-1 de nuestra aplicación para poder solicitar la API key. Pero vayamos por partes.

Obteniendo la huella SHA-1 de nuestra aplciación

Fue un verdadero quebradero, pero gracias a la ayuda de kix2902 descubrí que toda la información se encuentra en el Eclipse -> Window -> Preferences -> Android -> Build

Creando un proyecto API

Una vez tenemos ya nuestra huella SHA-1, podemos pasar al siguiente paso:

  • Abrimos la consola de Google APIs
  • Creamos un nuevo proyecto con el nombre que queramos
  • Vamos a continuación al apartado de Services y activamos Google Maps Android API v2
  • Ahora vamos al apartado API Access -> Create New Android Key
  • Introducimos aquí la huella SHA-1 seguidos del nombre del paquete. En mi caso:
    2C:C5:E6:A4:EE:29:EB:0D:8F:F3:B2:60:18:DF:3B:A7:D5:D4:95:7B;com.example.pfc_alpha1
  • Acabamos de generar la API key y ya la tendremos a nuestra disposición

Añadiendo la API Key a nuestra aplicación

Ahora que ya tenemos la API Key, tenemos que añadirla a nuestra aplicación para que todo funcione.

1. En el AndroidManifest.xml añadimos el bloque siguiente como un hijo de (justo antes de que acabe )

android:name="com.google.android.maps.v2.API_KEY"
android:value="API_KEY"/>

donde API_KEY es la API Key.

2. Añadimos los siguientes permisos

Y también está recomendado añadir las siguientes si nuestra aplicación necesita acceder a nuestra posición.

En resumen, hemos de añadir lo siguiente:







Google Maps utiliza OpenGL ES v2 para renderizar los mapas. Si no tienes instalado OpenGL ES v2, el mapa no aparecerá y por tanto también es recomendable añadir la siguiente condición:

android:glEsVersion="0x00020000"
android:required="true"/>

Con esto ya tenemos nuestra aplicación configurada.

Añadiendo el mapa

Y pasamos ya al último punto: añadir el mapa. Una vez que hemos configurado el Google Play Services, hemos añadido la API Key y rellenado el AndroidManifest.xml, toca picar código.

Añadir un mapa es muy sencillo

1. En el main.xml añadimos el siguiente fragmento


android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="com.google.android.gms.maps.MapFragment"/>

2. En el MainActivity añadimos esto otro

package com.example.mapdemo;

import android.app.Activity;
import android.os.Bundle;

public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}

3. Y ya está, funciona sin problemas!

Los próximos pasos van a ser poder añadir puntos en el mapa y posiciones determinadas. Esperemos que no sea muy difícil!

Links de interés

Os recuerdo que el código fuente del proyecto se encuentra en Github

¡Cualquier duda, sugerencia o cuestión me podéis encontrar en twitter!