Implementar Google Maps en aplicación Android

Desarrollar aplicación Android con Google Maps

La forma más ágil, cómoda y sencilla de implementar Google Maps en una aplicación Android es utilizando la propia app de Google Maps mediante un Intent. Si no es un requisito que Google Maps se explote desde tu aplicación, olvídate de tener que desarrollar todas las funcionalidades, como calcular rutas, capas de datos, etc., con sólo pasar un par de parámetros podrás invocar un activity nuevo de Maps y aprovechar todo su potencial.

Tal y como indican en la documentación oficial de Android, el Intent de Google Maps es un ACTION_VIEW al que se le puede pasar una uri con parámetros, que fundamentalmente son de tres tipos:

Desarrollar aplicación Android con Google Maps
  • Ubicación: ya sean longitud y latitud, o bien la dirección tal cual: calle Gran Vía 13 o tipo de negocio “pizzería en Madrid”
  • Funcionalidad: uno de los aspectos más útiles, y es que además de centrar el mapa en la ubicación indicada, puedes hacer que muestre un label con un literal que puedes especificar para ofrecer más información. Este label también incluye un botón para establecer una ruta guiada por GPS.
  • Visualización: puedes especificar el zoom mediante z=[2-23], donde 23 es el más cercano.

La uri puede tener la siguiente estructrua:

La URI puede tener la siguiente estructura:

geo:latitud,longitud
geo:latitud,longitud?z=zoom
geo:0,0?q=direccion+especifica
geo:0,0?q=negocio+ciudad
geo:0,0?q= latitud,longitud (label+mas+informacion)

Un código de ejemplo para invocar el Intent de Google Maps para Android podría ser el siguiente:

String geo = "geo:0,0?q=22222 ,66666(Ubicación de Ejemplo)&z=5";
Intent i = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(geo));
startActivity(i);

Si además quieres especificar que siempre se utilice la aplicación de Google Maps, en vez de que salga el popup para seleccionar qué app quieres usar en caso de que tengas varias de mapas, puedes meter esta línea antes del startActivity:

i.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

What is 4 + 11 ?
Please leave these two fields as-is: