usando google maps en tu android app

21
Usando Google Maps en tu Android App @oscarsalguero

Upload: oscar-s

Post on 18-Dec-2014

14.794 views

Category:

Technology


3 download

DESCRIPTION

Estas son las diapositivas de mi presentación sobre Google Maps en Android para el evento de GTUG El Salvador del 11 de Mayo 2011.

TRANSCRIPT

Page 1: Usando Google Maps en tu Android App

Usando Google Maps en tu Android App

@oscarsalguero

Page 2: Usando Google Maps en tu Android App

Agenda

@oscarsalguero

•  Huella Digital y Certificado de Debug •  API Key de Google Maps •  Android App con Google Maps:

•  Creando el proyecto correctamente •  Retoques al Android Manifest •  XML Layout con MapView •  Activity que hereda de MapActivity •  Custom Overlay para agregar Capas •  Detectando la ubicación del Usuario (Bonus!)

  Simulando una ubicación (Mock Location) •  Enlaces de interés •  Preguntas

Page 3: Usando Google Maps en tu Android App

Huella Digital y Certificado para Debug

@oscarsalguero

•  Es una firma digital que identifica a cada App en el Market o a tu Eclipse IDE. •  Es necesaria para que los mapas funcionen en el simulador y en los dispositivos. •  Sin ella, los mapas sencillamente no cargan. •  Se genera con una herramienta llamada “keytool” ubicada en: [folder-de-tu-android-sdk]/tools/ •  El comando es: keytool -list -alias androiddebugkey –keystore [USER_FOLDER]/.android/debug.keystore

Page 4: Usando Google Maps en tu Android App

Huella Digital y Certificado para Debug

@oscarsalguero

Page 5: Usando Google Maps en tu Android App

El API Key de Google Maps

@oscarsalguero

•  Necesitas tener una cuenta de Google para obtener una. •  La API Key será asociada a tu cuenta de Google. •  Hay una unica API Key (llave) por cada App. •  Si la “huella digital” (fingerprint MD5) de tu App cambia, deberás obtener otra API Key con la nueva “huella digital”. •  Es necesaria para que los mapas funcionen en el simulador y en los dispositivos. •  Sin ella, los mapas sencillamente no cargan. •  Se genera obtiene aquí: http://code.google.com/android/maps-api-signup.html •  Aquí se usa el fingerprint MD5 que generamos en el paso anterior.

Page 6: Usando Google Maps en tu Android App

El API Key de Google Maps

@oscarsalguero

Page 7: Usando Google Maps en tu Android App

Creando el Proyecto Correctamente

@oscarsalguero

1.  Haz click en el menu File -> New -> Android Project 2.  Escribe “GoogleMapsDemo” en el campo “Project name”. 3.  Deja el grupo de campos bajo “Contents” como esta por defecto. 4.  Como “Build Target” debes elegir una opción que incluya Google

APIs, con un API Level mayour o igual que 7. 5.  En el grupo de campos llamado “Properties”, especifica el

nombre de la App, un paquete, una Activity y un Min SDK con valor de “7”.

Tips: •  No nombres tu Activity como “MapActivity”, porque tendrá conflicto de

nombre con una Activity de la API de Google Maps. •  No utilices API Levels menores que 7, porque perderas features de las

APIs.

Page 8: Usando Google Maps en tu Android App

Creando el Proyecto Correctamente

@oscarsalguero

Page 9: Usando Google Maps en tu Android App

Creando el Proyecto Correctamente

@oscarsalguero

Page 10: Usando Google Maps en tu Android App

Retoques al Android Manifest

@oscarsalguero

1.  Hay que indicar que nuestra App usa la librería de Google Maps

2.  Nuestra App necesitara acceder a Internet para traer los mapas y para lograr nuestro “Bonus feature” de detectar la ubicación del usuario necesitaremos permisos para usar el aGPS.

Page 11: Usando Google Maps en tu Android App

Retoques al Android Manifest

@oscarsalguero

3. Nos desharemos de la barra de título para tener mas espacio en nuestro Mapa.

Page 12: Usando Google Maps en tu Android App

XML Layout con MapView

@oscarsalguero

•  En Android, la interface de Usuario (UI) la creamos en un XML. •  Casi todos los componentes son Views, el de mapas (MapView)

no es la excepción. •  Nuestra App tiene un XML Layout con un MapView, el archivo

main.xml:

Page 13: Usando Google Maps en tu Android App

Activity que hereda de MapActivity

@oscarsalguero

•  En Android, una Activity es la “pantalla”, la UI con la que el Usuario interactua, donde hace click, y donde visualiza la información.

•  Para usar Google Maps, nuestra Activity tiene que heredar de MapActivity.

Page 14: Usando Google Maps en tu Android App

Custom Overlay para agregar Capas

@oscarsalguero

•  Un Custom Overlay sirve para agregar Layers (capas) con información al Mapa, pines o iconos que denotan lugares es lo común.

•  Debemos importar el paquete com.google.android.maps.*; •  Y debemos hacer una clase que herede de ItemizedOverlay, en

este caso he llamado a dicha clase “CustomOverlay”. •  Podemos sobreescribir varios de los métodos de

ItemizedOverlay para que los items en estas capas se comporten y vean como queremos, entre ellos:

  addOverlay   createItem   size   onTap

Page 15: Usando Google Maps en tu Android App

Custom Overlay para agregar Capas

@oscarsalguero

•  Necesitaremos importar las librerias siquientes:

•  Heredar de ItemizedOverlay:

•  Debemos remitirnos al código fuente para ver los metodos a ser utilizados y los que serán modificados ( son los que tienen @Override).

Page 16: Usando Google Maps en tu Android App

Detectando la ubicación del Usuario

@oscarsalguero

•  Los dispositivos Android te dejarán saber la ubicación del usuario con su Latitud y Longitug si cuentan con un módulo aGPS, este usa un acceso directo a satélites GPS orbitando nuestro Planeta, o usa triangulación de señales celulares provenientes de torres o routers Wi-Fi a tu alrededor.

•  La latitud y longitud son generalmente un “float” con signo. •  Accederemos a los Location Services usando el objeto

LocationManager.

Page 17: Usando Google Maps en tu Android App

Detectando la ubicación del Usuario

@oscarsalguero

•  Podemos hacer algo cuando el Usuario se esta moviendo y su ubicación esta cambiando, usando un LocationListener.

Page 18: Usando Google Maps en tu Android App

Simulando una ubicación

@oscarsalguero

•  Usando ADT para Eclipse y su DDMS se puede probar una App que muestre la ubicación del Usuario indicando la Latitud y Longitud manualmente o en un archivo KML.

Page 19: Usando Google Maps en tu Android App

@oscarsalguero

¿Preguntas?

Page 20: Usando Google Maps en tu Android App

Enlaces de Interés

@oscarsalguero

•  El código fuente de esta presentación esta en GitHub: https://github.com/RacZo/GoogleMapsDemo •  Obtaining a Maps API Key http://code.google.com/intl/en/android/add-ons/google-apis/mapkey.html •  Signup for the Android Maps API http://code.google.com/android/maps-api-signup.html •  Google Map View http://developer.android.com/resources/tutorials/views/hello-mapview.html •  Android Developers http://developer.android.com

Page 21: Usando Google Maps en tu Android App

¡Muchas gracias!

Twitter: @oscarsalguero Sitio Web: www.oscarsalguero.com

This work is licensed under the Creative Commons Attribution 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by/3.0/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.