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:
- 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");