Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
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,263 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

×