Mapas en Android (Google Maps Android API v2) – I

Hace tan sólo 3 días, Google presentaba la segunda versión de su API de Google Maps para Android. Esta nueva versión presenta muchas novedades interesantes, de las que cabe destacar las siguientes:

  • Integración con los Servicios de Google Play (Google Play Services) y la Consola de APIs.
  • Utilización a través de un nuevo tipo específico de fragment (MapFragment), una mejora muy esperada por muchos.
  • Utilización de mapas vectoriales, lo que repercute en una mayor velocidad de carga y una mayor eficiencia en cuanto a uso de ancho de banda.
  • Mejoras en el sistema de caché, lo que reducirá en gran medida las famosas áreas en blanco que tardan en cargar.
  • Los mapas son ahora 3D, es decir, podremos mover nuestro punto de vista de forma que lo veamos en perspectiva.

Al margen de las novedades generales, como desarrolladores ¿qué diferencias nos vamos a encontrar con respecto a la API anterior a la hora de desarrollar nuestras aplicaciones Android?

Pues la principal será el componente que utilizaremos para la inclusión de mapas en nuestra aplicación. Si recordamos la anterior versión de la API, para incluir un mapa en la aplicación debíamos utilizar un control de tipo MapView, que además requería que su actividad contenedora fuera del tipo MapActivity. Con la nueva API nos olvidaremos de estos dos componentes y pasaremos a tener sólo uno, un nuevo tipo específico de fragment llamado MapFragment. Esto nos permitirá entre otras cosas añadir uno [o varios, esto también es una novedad] mapas a cualquier actividad, sea del tipo que sea, y contando por supuesto con todas las ventajas del uso de fragments. Nota importante: dado que el nuevo control de mapas se basa en fragments, si queremos mantener la compatibilidad con versiones de Android anteriores a la 3.0 tendremos que utilizar la librería de soporte android-support. Más adelante veremos más detalles sobre esto.

Además de esta novedad, la integración de la API con los Google Play Services y la Consola de APIs de Google, harán que los preparativos del entorno, las librerías utilizadas, y el proceso de obtención de la API Key de Google Maps sean un poco distintos a los que ya vimos en los artículos dedicados la primera versión.

Pues bien, en este nuevo artículo del Curso de Programación Android vamos a describir los pasos necesarios para hacer uso de la nueva versión de la API de mapas de Google (Google Maps Android API v2).

Como en los artículos previos donde aprendimos a utilizar la API v1, en este caso también será necesario realizar algunos preparativos y tareas previas antes de poder empezar a utilizarlos en nuestras aplicaciones.

En primer lugar, dado que la API v2 se proporciona como parte del SDK de Google Play Services, será necesario incorporar previamente a nuestro entorno de desarrollo dicho paquete. Haremos esto accediendo desde Eclipse al Android SDK Manager y descargando del apartado de extras el paquete llamado “Google Play Services”.

download-google-play-services-sdk

Tras pulsar el botón de Install y aceptar la licencia correspondiente el paquete quedará instalado en nuestro sistema, concretamente en la ruta: <carpeta-sdk-android>/extras/google/google_play_services/. Recordemos esto porque nos hará falta más adelante.

El siguiente paso será obtener una API Key para poder utilizar el servicio de mapas de Google en nuestra aplicación. Este paso ya lo comentamos en los artículos sobre la API v1, pero en este caso el procedimiento será algo distinto. La nueva API de mapas de Android se ha integrado por fin en la Consola de APIs de Google (una herramienta de la que ya hablamos por ejemplo en los artículos dedicados a Google Cloud Messaging), por lo que el primer paso será acceder a ella. Una vez hemos accedido, tendremos que crear un nuevo proyecto desplegando el menú superior izquierdo y seleccionando la opción “Create…”.

create-api-project-2

Aparecerá entonces una ventana que nos solicitará el nombre del proyecto. Introducimos algún nombre descriptivo y aceptamos sin más.

create-new-api-project

Una vez creado el proyecto, accederemos a la opción “Services” del menú izquierdo. Desde esta ventana podemos activar o desactivar cada uno de los servicios de Google que queremos utilizar. En este caso sólo activaremos el servicio llamado “Google Maps Android API v2″ pulsando sobre el botón ON/OFF situado justo a su derecha.

mapas-android-api-2

Una vez activado aparecerá una nueva opción en el menú izquierdo llamada “API Access”. Accediendo a dicha opción tendremos la posibilidad de obtener nuestra nueva API Key que nos permita utilizar el servicio de mapas desde nuestra aplicación particular.

api-access-1

Para ello, pulsaremos el botón “Create new Android key…”. Esto nos llevará a un cuadro de diálogo donde tendremos que introducir algunos datos identificativos de nuestra aplicación. En concreto necesitaremos dos: la huella digital (SHA1) del certificado con el que firmamos la aplicación, y el paquete java utilizado. El segundo no tiene misterio, pero el primero requiere alguna explicación. Toda aplicación Android debe ir firmada para poder ejecutarse en un dispositivo, tanto físico como emulado. Este proceso de firma es uno de los pasos que tenemos que hacer siempre antes de distribuir públicamente una aplicación.  Adicionalmentes, durante el desarrollo de la misma, para realizar pruebas y la depuración del código, aunque no seamos conscientes de ello también estamos firmado la aplicación con un “certificado de pruebas”. Podemos saber en qué carpeta de nuestro sistema está almacenado este certificado accediendo desde Eclipse al menú Window /Preferences y accediendo a la sección Android / Build.

debug-keystore

Como se puede observar, en mi caso el certificado de pruebas está en la ruta “C:\Users\Salvador\.android\debug.keystore”. Pues bien, para obtener nuestra huella digital SHA1 deberemos acceder a dicha ruta desde la consola de comando de Windows y ejecutar los siguientes comandos:

C:\>cd C:\Users\Salvador\.android\

C:\Users\Salvador\.android>"C:\Program Files\Java\jdk1.7.0_07\bin\keytool.exe" -list -v -keystore debug.keystore -alias androiddebugkey -storepass android -keypass android

Suponiendo que tu instalación de Java está en la ruta “C:\Program Files\Java\jdk1.7.0_07“. Si no es así sólo debes sustituir ésta por la correcta. Esto nos deberá devolver varios datos del certificado, entre ellos la huella SHA1.

sha1

Pues bien, nos copiamos este dato y lo añadimos a la ventana de obtención de la API Key donde nos habíamos quedado antes, y a continuación separado por un punto y coma añadimos el paquete java que vayamos a utilizar en nuestra aplicación, que en mi caso será “net.sgoliver.android.mapasapi2″.

api-access-2

Pulsamos el botón “Create” y ya deberíamos tener nuestra API Key generada, podremos verla en la pantalla siguiente dentro del apartado “Key for Android Apps (with certificates)”. Apuntaremos también este dato para utilizarlo más tarde.

api-access-3

Con esto ya habríamos concluido los preparativos iniciales necesarios para utilizar el servicio de mapas de Android en nuestras propias aplicaciones, por lo que empecemos a crear un proyecto de ejemplo en Eclipse.

Abriremos Eclipse y crearemos un nuevo proyecto estandar de Android, en mi caso lo he llamado “android-mapas-api2″. Recordemos utilizar para el proyecto el mismo paquete java que hemos indicado durante la obtención de la API key.

Tras esto lo primero que haremos será añadir al fichero AndroidManifest.xml la API Key que acabamos de generar. Para ello añadiremos al fichero, dentro de la etiqueta <application>, un nuevo elemento <meta-data> con los siguientes datos:

...
<application>
...
    <meta-data android:name="com.google.android.maps.v2.API_KEY"
               android:value="api_key"/>
...
</application>

Como valor del parámetro android:value tendremos que poner nuestra API Key recien generada.

Siguiendo con el AndroidManifest, también tendremos que incluir una serie de permisos que nos permitan hacer uso de los mapas. En primer lugar tendremos que definir y utilizar un permiso llamado “tu.paquete.java.permission.MAPS_RECEIVE”, en mi caso quedaría de la siguiente forma:

<permission
      android:name="net.sgoliver.android.mapasapi2.permission.MAPS_RECEIVE"
      android:protectionLevel="signature"/>

<uses-permission android:name="net.sgoliver.android.mapasapi2.permission.MAPS_RECEIVE"/>

Además, tendremos que añadir permisos adicionales que nos permitan acceder a los servicios web de Google, a Internet, y al almacenamiento externo del dispositivo (utilizado para la caché de los mapas):

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>

Por último, dado que la API v2 de Google Maps Android utiliza OpenGL ES versión 2, deberemos especificar también dicho requisito en nuestro AndroidManifest añadiendo un nuevo elemento <uses-feature>:

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

Una vez hemos configurado todo lo necesario en el AndroidManifest, y antes de escribir nuestro código, tenemos que seguir añadiendo elementos externos a nuestro proyecto. El primero de ellos será referenciar desde nuestro proyecto la librería con el SDK de Google Play Services que nos descargamos al principio de este tutorial. Para ello, desde Eclipse podemos importar la librería a nuestro conjunto de proyectos mediante la opción de menú “File / Import… / Existing Android Code Into Workspace”. Como ya dijimos este paquete se localiza en la ruta “<carpeta-sdk-android>/extras/google/google_play_services/libproject/google-play-services_lib“.

import-library

Tras seleccionar la ruta correcta dejaremos el resto de opciones con sus valores por defecto y pulsaremos Finish para que Eclipse importe esta librería a nuestro conjunto de proyectos.

El siguiente paso será referenciar esta librería desde nuestro proyecto de ejemplo. Para ello iremos a sus propiedades pulsando botón derecho / Properties sobre nuestro proyecto y accediendo a la sección Android de las preferencias. En dicha ventana podemos añadir una nueva librería en la sección inferior llamada Library. Cuando pulsamos el botón “Add…” nos aparecerá la librería recien importada y podremos seleccionarla directamente, añadiéndose a nuestra lista de librerías referenciadas por nuestro proyecto.

reference-library

Como último paso de configuración de nuestro proyecto, si queremos que nuestra aplicación se pueda ejecutar desde versiones “antiguas” de Android (concretamente desde la versión de Android 2.2) deberemos asegurarnos de que nuestro proyecto incluye la librería android-support-v4.jar, que debería aparecer si desplegamos las sección “Android Dependencies” o la carpeta “lib” de nuestro proyecto.

support-library

Las versiones más recientes de ADT incluyen por defecto esta librería en nuestros proyectos, pero si no está incluida podéis hacerlo mediante la opción del menú contextual “Android Tools / Add Support Library…”  sobre el proyecto, o bien de forma manual.

Y con esto hemos terminado de configurar todo lo necesario. Ya podemos escribir nuestro código. Y para este primer artículo sobre el tema nos vamos a limitar a mostrar un mapa en la pantalla principal de la aplicación. En artículos posteriores veremos como añadir otras opciones o elementos al mapa.

Para esto tendremos simplemente que añadir el control correspondiente al layout de nuestra actividad principal. En el caso de la nueva API v2 este “control” se añadirá en forma de fragment (de ahí que hayamos tenido que incluir la librería android-support para poder utilizarlos en versiones de Android anteriores a la 3.0) de un determinado tipo (concretamente de la nueva clase com.google.android.gms.maps.SupportMapFragment), quedando por ejemplo de la siguiente forma:

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/map"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        class="com.google.android.gms.maps.SupportMapFragment"/>

Por supuesto, dado que estamos utilizando fragments, la actividad principal también tendrá que extender a FragmentActivity (en vez de simplemente Activity como es lo “normal”). Usaremos también la versión de FragmentActivity incluida en la librería android-support para ser compatibles con la mayoría de las versiones Android actuales.

public class MainActivity extends android.support.v4.app.FragmentActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.activity_main);
    }

...
}

Con esto, ya podríamos ejecutar y probar nuestra aplicación. En mi caso las pruebas las he realizado sobre un dispositivo físico con Android 2.2 ya que por el momento parece haber algunos problemas para hacerlo sobre el emulador. Por tanto tendréis que conectar vuestro dispositivo  al PC mediante el cable de datos e indicar a Eclipse que lo utilice para la ejecución de la aplicación.

Si ejecutamos el ejemplo deberíamos ver un mapa en la pantalla principal de la aplicación, sobre el que nos podremos mover y hacer zoom con los gestos habituales o utilizando los controles de zoom incluidos por defecto sobre el mapa.

captura-ejemplo

Con este artículo espero haber descrito todos los pasos necesarios para comenzar a utilizar los servicios de mapas de Google utilizando su nueva API Google Maps Android v2. Si tenéis cualquier duda o propuesta de mejora no dudéis en escribirlo en los comentarios.

Como habéis podido comprobar hay muchos preparativos que hacer, aunque ninguno de ellos de excesiva dificultad. En los próximos artículos aprenderemos a utilizar más características de la nueva API.

Puedes consultar y/o descargar el código completo de los ejemplos desarrollados en este artículo accediendo a la pagina del curso en GitHub.

, , , , , ,

96 Respuestas a Mapas en Android (Google Maps Android API v2) – I

  1. Zouhair 06/12/2012 at 22:00 #

    muchas gracias, me ha servido mucho.
    han cambiado mucho en esta versión, pero tiene novedades buenas.

  2. Sergio 07/12/2012 at 15:20 #

    Genial, como siempre.
    Muchas gracias

  3. caspol 10/12/2012 at 19:25 #

    Echaba de menos la actualizacion del sitio, eso es lo que pasa cuando un sitio es bueno.

  4. Julián 11/12/2012 at 18:58 #

    Buenas,

    Infinitas gracias por el artículo. He seguido los pasos uno a uno, creando un proyecto desde cero, he creado mi API key y demás pero a la hora de ejecutar el proyecto no me muestra el mapa, siempre me aparece en el LogCat: Authorization Failure y antes de eso un error tal que:
    12-11 19:00:03.009: E/dalvikvm(2119): Could not find class ‘maps.j.k’, referenced from method maps.y.ae.a

    No doy con la tecla..

  5. admin 11/12/2012 at 20:37 #

    Hola Julián, por el error me suena a algún problema con la API Key que estás usando. Por favor, comprueba que has seguido al detalle todos los pasos de obtención de la API Key, y por supuesto verifica que has utilizado para su obtención la huella digital SH1 de tu certificado “de pruebas” (si estás probando en el emulador o en un dispositivo conectado al PC) o con el certificado “de verdad” (si estás probando con la aplicación ya firmada e instalada en un dispositivo). Saludos.

  6. kenneth 15/12/2012 at 17:39 #

    hola, he hecho todo lo que ponia pero en el xml me da un pequeño error en “match_parent”, pone: Error: String types not allowed (at ‘layout_width’ with value
    ‘match_parent’). lo cambie por fill_parent o wrap_content, pero cada que pruebo la aplicacion me fuerza la salida, tanto en el emulador como en el telefono, como puedo mirar porque me fuerza la salida??

  7. kenneth 15/12/2012 at 18:11 #

    al final he conseguido arreglarlo, lo que pasa que ahora no me muestra el mapa, solo una pantalla en blanco, alguna solucion?

  8. Juane 17/12/2012 at 19:28 #

    segui todos los pasos, pero a la hora de probarlo (en emulador) me dice que mi telefono no tiene google play service instalado, es alguna configuracion en el emulador lo que esta mal?

  9. Rafael 18/12/2012 at 15:30 #

    Hola, lo he instalado todo y he usado vuestro mismo paquete. La clave y todo bien, pero al ejecutar la app me indica que no tengo los permisos y me saca un botón para conseguirlos. Al hacer click en el botón se para la app y sale. Alguien sabe que puedo hacer?

  10. admin 18/12/2012 at 16:09 #

    Hola Rafael, por lo que dices creo que el problema no es de permisos, sino por no tener instalado en el emulador la versión correcta de Google Play Services. Como indico en el tutorial, actualmente existe un problema para probar en el emulador aplicaciones que utilicen esta API, por eso en el tutorial dejo claro que las pruebas las he realizado en un dispositivo real. Saludos.

  11. Francisco Chávez 18/12/2012 at 19:30 #

    Hola.

    Excelente blog y artículo. He conseguido hacer funcionar todo y hacer la apk para probar en el móvil directamente, pero el problema es que no veo los mapas, me sale la pantalla en blanco y no se ve ninguna imagen del mapa. Como dicen los compañeros, en el emulador no funciona, pero en le móvil sale en blanco.

    Alguna solución?

  12. Francisco Chávez 19/12/2012 at 15:39 #

    Hola de nuevo,

    Solucionado el problema. Comento que he hecho.

    1.- La versión de “Proyect Build Target” debe ser la “Google APIs [Android 2.2].
    2.- En segundo lugar, es necesario utilizar una api-key de release y no la de debug que tiene el Eclipse por defecto. Por lo que se debe generar un fichero de claves con keytool y solicitar una api-key a google con la SHA1 generada en dicho fichero.
    3.- Por último, en el emulador no funciona, debe ejecutarse en un móvil con Android. Para ello, se debe exportar la aplicación. (Botón derecho en el proyecto -> Android Tools -> Export signed …” y utilizar el fichero de claves generado por el usuario y no el de debug de Eclipse.

    Espero que os sirva de ayuda.

    Un saludo.

  13. malasocia 21/12/2012 at 18:47 #

    Muchísimas gracias!
    Claro, conciso y eficiente!

  14. rafaelV 22/12/2012 at 8:13 #

    solo una cosa, la clase .java no debe extender de fragmentActivity sino solo de Activity, ya que en la misma es donde se encuentra el fragment, lo digo por que no me funcionó de otra forma y además así lo dice el tutorial de google.

    También es bien cierto que no corren los mapas en ningún emulador, esto ya que en la misma web de soporte de developer.android.com dice claramente que el emulador no soporta este tipo de Apps, así que ni molestarse en buscar cómo, mejor conseguir un phone con android, saludos solo espero que les sirva esto.

  15. admin 22/12/2012 at 10:57 #

    Hola Refael, lo de Activity o FragmentActivity depende de con qué versiones de Android quieras hacer compatible tu aplicación. Para Android 3.0 o superior no tendrás problemas utilizando Activity a secas, pero si quieres que tu aplicación también funcione en versiones anteriores (como intento explicar en el artículo) no tendrás más remedio que utilizar FragmentActivity y la librería android-support tal como explico en el tutorial. Saludos.

  16. Jordi 22/12/2012 at 15:31 #

    Hola,
    felicidades por la web y los tutoriales, también tengo el pdf. Muy útil. Buena actualización, me sale el mensaje de: This app won’t run without google play services, which are missing from your phone. Supongo que esto es a lo que te refieres que se debe probar en el móbil directamente.

    Gracias,
    Saludos.

  17. vanegas 23/12/2012 at 23:10 #

    muy buen tutorial, casi no se encuentran a cerca de esta versión…

  18. Donis 27/12/2012 at 16:01 #

    Hola muy bueno el tutorial, todo en general me ha venido muy bien , genial! . Tenia un problema que he leído le pasa a bastante gente. Me sale la pantalla en blanco y no me carga el mapa. He intentado hacer lo que ha dicho Francisco Chávez, pero me fallan el punto 2 y el 3 :

    2.- No se como generar la api-key de release , yo hago lo que dice el tutorial

    3.- Me pone error en el string.xml

    Tengo que decir , que al ejecutarlo como cualquiera aplicacion al móvil , me pone en el target un signo de admiracion como si algo no fuera bien, pero la aplicacion se ejecuta pero no me muestra el mapa.

    A ver si alguien me puede ayudar, muchas gracias y feliz año nuevo!

  19. David 01/01/2013 at 1:18 #

    y podria subir algo sobre la ubicacion?

  20. Renzo Vinci 08/01/2013 at 19:50 #

    Disculpa que te moleste, pero he seguido el tutorial al pie de la letra, no he tenido ningun problema durante el mismo. Pero cuando quiero ver la app en el movil no me muestra el mapa, me muestra todo el mapa en blanco, mientras que en el emulador de eclipse si lo hace. Me podrias que podria ser?? muchas gracias

  21. DMR 13/01/2013 at 12:49 #

    Despues de buscar y buscar no encontraba nada como lo que has escrito.

    Enhorabuena.

  22. Elena 14/01/2013 at 16:12 #

    Hola! como a muchos me pasa que no se muestra el mapa solo la pantalla en blanco con los controles de zoom, he intentado hacer lo que me dice Francisco Chávez y ya en el paso 1 ( La versión de “Proyect Build Target” debe ser la “Google APIs [Android 2.2].) me ha salido del error del fichero autogenerado que está missing y no se ha solucionado limpiando proyecto.
    ¿alguien sabe por qué es?
    Y sería de gran ayuda si alguien responde a Donis porque también tengo esas dudas.
    Muchas gracias y muy bueno el blog.

  23. JK7 16/01/2013 at 17:00 #

    Buenas,

    Primero comentar que este tutorial me ha servido y sirve de mucha ayuda.

    Ahora mismo estoy probando la parte I de los mapas y estoy teniendo un problemilla a la hora de insertar las librerias del Google Play Services.

    Cuando lo importo al eclipse, no hay ningun problema.
    Cuando lo voy a añadir a mi proyecto como libreria como indicas en el tutorial, se hace correctamente.
    Al salir a la pantalla normal del eclipse y volver a entrar en el proyecto la libreria aparece con un aspa roja, como si no reconociera la ruta (anteriormente cuando se añadio si aparecia con la “v” verde)

    Sabes si hay alguna forma de solucionar esto?

    Gracias y un saludo.

  24. Elena 18/01/2013 at 2:23 #

    Hola JK7, Eso me pasaba a mí y era porque porque si la referencia en tu proyecto a la librería es esta por defecto: “/extras/google/google_play_services/libproject/google-play-services_lib“ no es válido, tienes estar asegurado que lo importaste bien y está en tu workspace y entonces pones la referencia al workspace,:
    “<Workspace/google-play-services_lib“.

    Igual me explico un poco mal me dí cuenta al leer esto:

    " —you should not reference the library from the Android SDK directory–You should be referencing a copy of the library that you copied to your source tree."

    Y ¿alguien podría decirme a qué se debe que salga en blanco el mapa y solo cn el mas y mens del zoom? ya he revisado todo, las versiones me coinciden todos. y la key se supone que está bien. he hecho lo de esta parte del tutorial revisándolo todo ya 4 veces y nada no consigo ver un mapa, y comprobé k tngo la última versión del google_play_services en mi movil también, ¿que más podría revisar? ¿se os ocurre algo? Gracias.

  25. Carlos 18/01/2013 at 12:40 #

    Muy bueno el tutorial!
    Por si a alguien le pasa lo mismo, al principio no me funcionaba porque había activado por error “Google Maps API v2″ en lugar de “Google Maps Android API v2″. Lo he cambiado a como se explica en el tutorial y he regenerado el API KEY. Aún así no ha funcionado hasta que he puesto como target de SDK el API Level 16.
    Gracias y un saludo

    (fuente: http://stackoverflow.com/questions/13803833/map-api-v2-authorisation-failure)

  26. JK7 19/01/2013 at 12:19 #

    El problema que mencionaba 2 comentarios anteriores era debido a que el workspace no lo soportaba bien (estaba en un usb) no se cual sera la razon, pero he cambiado el workspace y ahora funciona correctamente.

    Ahora los problemas seran otros :p

    Un saludo y gracias

  27. Carlos 20/01/2013 at 4:39 #

    ¿Cón “C:\Users\Salvador\.android\debug.keystore” se entiende que es la key de debug y no la de key release?

  28. Paco 24/01/2013 at 19:47 #

    Hola, tengo un problema, espero sepas ayudarme.

    He repetido todos tus pasos en mi proyecto y me funciona perfectamente si instalo la aplicación por usb desde Eclipse, directamente al móvil, pero si genero el apk y lo instalo los mapas no se ven.

    El nombre del proyecto está bien puesto en la web de google code.

    No se me ocurre qué otra cosa puede hacer que no funcione al instalar desde un apk, pero sí cuando lo hago por usb

    Alguna idea?

  29. alex 26/01/2013 at 17:18 #

    Muito bom tutorial! pela primeira vez vi explicado de maneira fácil como obter esta maldita api para o google maps. parabéns!

  30. Danny Alexader Trujillo 28/01/2013 at 2:29 #

    He seguido paso a paso el tutorial, y la aplicación se ejecuta pero no muestra ningún mapa, no se que podra ser Gracias

  31. admin 28/01/2013 at 19:12 #

    ¿Dónde has probado la aplicación? ¿En el emulador o en un dispositivo real? Y si es lo segundo, ¿cómo lo has hecho, depurando con el móvil conectado al PC por el cable USB, o instalando de verdad la aplicación en el dispositivo?

  32. jonnnyjava 31/01/2013 at 14:16 #

    Hola! enhorabuena por el tutorial, muy detallado y completo.
    Desgraciadamente tengo un problemilla que no se como resolver… Me funciona casi todo. Digo casi porquè la aplicación compila y se muestra correctamente en mi movíl. No da ningun error, pero, en el layout contenente el mapa no se carga nada… Aparecen lo botones de zoom (+ y -) pero no las imagenes.
    Estoy trabajando desde mi pc y probando en mi movil conectandolo via USB.
    Alguna sugerencia?
    Gracias de antemano!

  33. Pablo 03/02/2013 at 11:33 #

    Me encanta este tutuorial, sigue así es genial.
    Mi pregunta es la siguiente. Yo ya tengo generada una clave de la versión anterior de google? Con esa me vale, ya que cuando voy a crearla ya me sale una.
    Si intento crear otra, pongo la huella SHA1 y mi ruta (com.android.actividades) y me da un error.

    Me gustaria que me aclararas si la anterior vale o si tengo que crear una nueva y mi ruta está mal.

    Muchas gracias de antemano por atender mi duda.

  34. limbert 07/02/2013 at 17:47 #

    gracias por el tuto
    uno de los mejores que e encontrado
    al fin me salio el mapa. (antes me salia en blanco.)
    solo hay que cambiar en proyect build target y seleccionar google api.
    segun su version que ejecutan.

    felicidades.

  35. Ruben Perez 08/02/2013 at 12:19 #

    Hola a todos,

    Estoy muy perdido…. me han tirado al mundo de Android y estoy un poco desesperado..
    He seguido todo los pasos del manual, por cierto muy bien explicado, enhorabuena.
    Consigo exportar la aplicación y ejecutarla pero tanto en el emulador de eclipse como en el teléfono, se ve la pantalla en blanco con los botones de zoom…
    he hecho los cambio que habéis indicado y sigue igual…

    Si pueden ayudarme..

    Un saludo y gracias de antemano.

  36. Chencho 12/02/2013 at 19:21 #

    Hola a todos, después de leer todos los comentarios he visto que a alguno le ha pasado lo que a mí, y es que al relacionar mi pyoyecto con la libreria de google services sale el aspita roja … he leído que alguien lo ha solucionado poniendo la ruta desde el workspace … pero cómo?? Cuando le doy a add me sale desde el lugar donde tengo la carpeta del sdk y no es posible cambiarlo …

    ¿Alguna opinión/solución?

    Muchas gracias por vuestros comentarios y por el aporte, sin duda fantástico Admin.

  37. Chencho 13/02/2013 at 12:53 #

    He conseguido añadir estas librerias pero en el apartado de referenced libraries … ¿esto vale? (Os dejo una foto -> http://s2.subirimagenes.com/imagen/previo/thump_8296849sin-ttulo.png)

    He vuelto a releer comentarios y creo que el motivo puede estar en que el workspace y la carpeta sdk esten en distintas unidades de disco, a alguien no le iba porque lo tenía en una usb, y a mi por ejemplo tengo el workspace en D y la carpeta del SDK en F ¿podría ser esto último?

    Gracias a todos.

  38. Chencho 13/02/2013 at 15:10 #

    Soy muy pesado, pero poniendo el workspace y el sdk en la misma unidad de disco me lo ha agregado sin nungún tipo de problema, espero que a alguno le pueda ser útil.

  39. David Alejandro 19/02/2013 at 4:21 #

    por fin una pagina no tan complicada como la documentacion de Google que lo lleva de una pagina a otra, en este tuto van a lgrano y explican lo que se deberia saber, la documentacion de google me tenia harto

  40. Raul 19/02/2013 at 22:55 #

    Hola, fantástico tutorial, pero me encuentro con un problema que no se como resolver. Al exportar el .apk con el export wizard usando un keystore que he creado, cuando ejecuto la aplicación en el terminal físico sale una pantalla en blanco en lugar del mapa y un mensaje que dice que la aplicación se ha interrumpido repentinamente.

    Curiosamente, cuando instalo el .apk bajado de los fuentes de este tutorial funciona correctamente. ¿A qué se puede deber este fallo?

    Muchas gracias!

  41. Arturo 20/02/2013 at 13:55 #

    Hola buenas!Estoy siguiendo todos los pasos y esta increiblemente bien hecho.Me habian recomendado tus tutoriales para más cosas.Muchas gracias.
    Estoy teniendo problemas a la hora de conseguir la huella SHA1. Al meter en la consola de comados el codigo, me pone que no se puede ejecutar la instruccion en mi equipo q consulte con mi editor de software…creoq puede tratarse de que estoy utilizando windows 8.Alguien puede ayudarme?? Mil gracias

  42. Luis Gómez 21/02/2013 at 0:11 #

    Muchas gracias por todos los capítulos publicados Salvador!!
    Muy bien explicados, y completos.
    He conseguido que se me funcione correctamente la app de mapas.

  43. JDiego 25/02/2013 at 20:16 #

    He conseguido que me saliesen los mapas instalando google maps

  44. Karlos 01/03/2013 at 17:03 #

    Los fuentes proporcionados no producen ningun error pero al momento de ejecutarlo no muestra el mapa solo se ve una pantalla en blanco… si se muestran los botones de zoom… que puede ser?

  45. Karlos 01/03/2013 at 17:04 #

    El error es authorizathion failure

  46. sgoliver 01/03/2013 at 19:23 #

    Hola Karlos, has seguido todos los pasos del tutorial para obtener tu API key?

  47. Paquedo 06/03/2013 at 12:13 #

    Hola Salvador.

    Enhorabuena por tus tutoriales, son realmente buenos y ayudan mucho.

    En este caso tengo un problema, sigo todos los pasos, pero cuando referencio la libreria de google play a mi proyecto, esta no aparece en el apartado Android Dependencies y si vuelvo a entrar en las propiedades del proyecto aparece con un aspa roja.

    Si ejecuto el proyecto, me aparece el siguiente error:

    Caused by: android.support.v4.app.Fragment$InstantiationException: Unable to instantiate fragment com.google.android.gms.maps.SupportMapFragment: make sure class name exists, is public, and has an empty constructor that is public

    ¿Cúal puede ser el problema?

    Muchas gracias

  48. aletz 07/03/2013 at 17:48 #

    Hola Salvador.

    He realizado todos los pasos y ha funcionado muy bien.
    Mi pregunta es, si puedo crear un mapa sin necesidad de usar el “activity_main.xml” y hacerlo todo desde el “main.java” es decir, “programmatically”.
    Saludos.

  49. Jonay 07/03/2013 at 20:01 #

    Hola,
    ante todo muchas gracias por tu labor, tu web me está ayudando mucho en mi PFC.
    Te comento que siguiendo tus pasos al probarlo, en lugar del mapa, me salí todo en blanco, esto es debido a que en el manifest falta añadir:

    Saludos.

  50. Paco 08/03/2013 at 12:30 #

    Hola.
    Tengo el mismo problema que mucha gente. La app va pero muestra el mapa en blanco. Estoy ejecutándola en el móvil vía USB.
    Ayuda, please

Trackbacks/Pingbacks

  1. Mapas en Android (Google Maps Android API v2) – II | sgoliver.net blog - 09/12/2012

    [...] [...]

  2. Mapas en Android (Google Maps Android API v2) – III | sgoliver.net blog - 10/12/2012

    [...] los dos artículos anteriores (I y II) del curso hemos visto cómo crear aplicaciones utilizando la nueva versión de la API v2 de [...]

  3. Mapas en Android (I): Preparativos y ejemplo básico | sgoliver.net blog - 03/03/2013

    [...] versión de la API de Google Maps para Android. Tienes disponible tres nuevos artículos del curso (I, II, III) donde aprender a utilizar esta nueva [...]

  4. Mapas en Android (II): Control MapView | sgoliver.net blog - 03/03/2013

    [...] [...]

  5. Mapas en Android (III): Overlays (Capas) | sgoliver.net blog - 03/03/2013

    [...] [...]

Deja un comentario

Powered by WordPress. Designed by Woo Themes