Un atlas en lapalma de lamanoIncluyendo mapas enAndroid por J. M. Pereira
Presentación http://www.ingens-developments.com/         http://androcode.es/Jose Manuel Pereira (@JMPergar)     Ismael Re...
Contenido Google   Maps en apps Android    android-mapviewballoons    Polaris OpenStreetMap    en Android    OSMDroid...
Nuestra app conGoogle Maps   Incluir la API de Google en el proyecto.   Incluir com.google.android.maps.MapView en nuest...
Obteniendo el Maps API key    Obtenemos la firma de desarrollo         Windows Vista y Windows 7              c:users<u...
Controlando nuestros mapas MapView    (findViewById)    setBuiltInZoomControls(boolean)    setSatellite(boolean) MapCo...
Controlando nuestros mapas GeoPoint     Representa un punto en el mapa     Indicado en microgrados enteros     Para co...
Poblando nuestros mapas Capas   o Overlays    MapView.getOverlays() MyLocationOverlay    enableMyLocation()    enable...
Poblando nuestros mapas API   Overlay     http://androcode.es/2011/12/usando-      apviews-desde-el-principio/ android-...
Polaris de Cyrill Mottier Proyecto   Librería    https://github.com/cyrilmottier/Polaris ¿Qué   nos ofrece?    Burbuja...
Polaris de Cyrill Mottier Creamos    y enlazamos el proyecto    URL de descarga del proyecto Incorporamos    la View  ...
Poblando Polaris   PolarisMapView posee métodos similares a MapView    y MapController.   Class Annotation (new Annotati...
Poblando Polaris   implements OnAnnotationSelectionChangedListener   mPolarisMapView.setOnAnnotationSelectionChangedList...
Más Polaris setUserTrackingButtonEnabled(true)     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATIO...
OpenStreetMap en Android   No existe librería oficial   Gratis pero con limitaciones   Mapas Offline   OSMDroid y OSMD...
¡GRACIAS A TODOS!jm.pereira.g@gmail.com @JMPergar ismael.kix2902@gmail.com @kix2902
Upcoming SlideShare
Loading in …5
×

Un atlas en la palma de la mano

2,160 views

Published on

Codelab sobre Google Maps impartida en Google DevFest 2012 de Barcelona.

Published in: Technology
  • Be the first to comment

Un atlas en la palma de la mano

  1. 1. Un atlas en lapalma de lamanoIncluyendo mapas enAndroid por J. M. Pereira
  2. 2. Presentación http://www.ingens-developments.com/ http://androcode.es/Jose Manuel Pereira (@JMPergar) Ismael Reyes (@kix2902)
  3. 3. Contenido Google Maps en apps Android  android-mapviewballoons  Polaris OpenStreetMap en Android  OSMDroid y OSMDroidBonusPack  MapsForge
  4. 4. Nuestra app conGoogle Maps Incluir la API de Google en el proyecto. Incluir com.google.android.maps.MapView en nuestro layout. <com.google.android.maps.MapView android:id="@+id/mapview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:apiKey="@string/googlemap_key" android:clickable="true" /> Configurar Manifest.  Indicar el uso de la librería. <uses-library android:name="com.google.android.maps" />  Indicar permiso de acceso a internet. <uses-permission android:name="android.permission.INTERNET" /> Extender de MapActivity.
  5. 5. Obteniendo el Maps API key Obtenemos la firma de desarrollo  Windows Vista y Windows 7  c:users<user>.androiddebug.keystore  Windows XP  c:Documents and Settings<user>.androiddebug.keystore  OSX y Linux  ~/.android/debug.keystore Obtenemos la huella MD5 de la firma con keytool keytool –list –alias androiddebugkey –keystore debug.keystore –storepass android –keypass android Certificate fingerprint (MD5): 94:1E:43:49:87:73:BB:E6:A6:88:D7:20:F1:8E:B5:98 NOTA: Es necesario tener instalado el JDK. Con el JDK7 añadir el parámetro –v. Registrar la firma  https://developers.google.com/android/maps-api-signup
  6. 6. Controlando nuestros mapas MapView (findViewById)  setBuiltInZoomControls(boolean)  setSatellite(boolean) MapController (MapView.getController)  setCenter(GeoPoint)  setZoom(int)  animateTo(GeoPoint)
  7. 7. Controlando nuestros mapas GeoPoint  Representa un punto en el mapa  Indicado en microgrados enteros  Para convertir: GeoPoint centro = new GeoPoint((int)(37.380882 * 1E6), (int)(-5.986958 * 1E6));  Para obtener la geolocalización:  http://tools.freeside.sk/geolocator/geolocator.html  https://maps.google.es/
  8. 8. Poblando nuestros mapas Capas o Overlays  MapView.getOverlays() MyLocationOverlay  enableMyLocation()  enableCompass()  Activarlos en onResume() y desactivarlos en onPause. MapView.postInvalidate() para actualizar
  9. 9. Poblando nuestros mapas API Overlay  http://androcode.es/2011/12/usando- apviews-desde-el-principio/ android-mapviewballoons  http://androcode.es/2012/09/mapviews-2- globos-de-informacion/ Polaris de Cyrill Mottier
  10. 10. Polaris de Cyrill Mottier Proyecto Librería  https://github.com/cyrilmottier/Polaris ¿Qué nos ofrece?  Burbujas de información  Double tap on map  Double tap on map balloon  Una manera fácil de hacerlo
  11. 11. Polaris de Cyrill Mottier Creamos y enlazamos el proyecto  URL de descarga del proyecto Incorporamos la View  com.cyrilmottier.polaris.PolarisMapView Extends MapActivity mPolarisMapView.onStart() y mPolarisMapView.onStop()
  12. 12. Poblando Polaris PolarisMapView posee métodos similares a MapView y MapController. Class Annotation (new Annotation(GeoPoint, String, String)  Title  Snippet  Marker (Annotation.setMarker(Drawable))  MapViewUtils.boundMarkerCenterBottom mPolarisMapView.setAnnotations(List<Annotation>, int) No usar getOverlays(), addOverlay(), removeOverlay() y metodos similares, ya que afectan al ciclo de vida de Polaris.
  13. 13. Poblando Polaris implements OnAnnotationSelectionChangedListener mPolarisMapView.setOnAnnotationSelectionChangedListener(this); @Override  onAnnotationClicked  onAnnotationSelected  onAnnotationDeselected onAnnotationSelected  Añadiendo imagen al globo de informaciónif (!TextUtils.isEmpty(annotation.getSnippet())) { calloutView.setLeftAccessoryView(getLayoutInflater().inflate(R.layout.accessory, calloutView, false));} else { calloutView.setLeftAccessoryView(null);}<?xml version="1.0" encoding="utf-8"?><ImageView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_launcher" />
  14. 14. Más Polaris setUserTrackingButtonEnabled(true)  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />  <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> Post ofcial  http://android.cyrilmottier.com/?p=824
  15. 15. OpenStreetMap en Android No existe librería oficial Gratis pero con limitaciones Mapas Offline OSMDroid y OSMDroidBonusPack  Bajo rendimiento  http://androcode.es/tag/osmdroid/ MapsForge  Mapas vectoriales y themes  Rendimiento muy bueno  Poco madura  http://www.ingens-networks.com/blog/?tag=/MapsForge
  16. 16. ¡GRACIAS A TODOS!jm.pereira.g@gmail.com @JMPergar ismael.kix2902@gmail.com @kix2902

×