SlideShare una empresa de Scribd logo
Un atlas en la
palma de la
mano
Incluyendo mapas en
Android por J. M. Pereira
Presentación


 http://www.ingens-developments.com/




         http://androcode.es/

Jose Manuel Pereira (@JMPergar)
     Ismael Reyes (@kix2902)
Contenido
 Google   Maps en apps Android
    android-mapviewballoons
    Polaris
 OpenStreetMap    en Android
    OSMDroid y OSMDroidBonusPack
    MapsForge
Nuestra app con
Google 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.
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
Controlando nuestros mapas
 MapView    (findViewById)
    setBuiltInZoomControls(boolean)
    setSatellite(boolean)
 MapController   (MapView.getController)
    setCenter(GeoPoint)
    setZoom(int)
    animateTo(GeoPoint)
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/
Poblando nuestros mapas
 Capas   o Overlays
    MapView.getOverlays()
 MyLocationOverlay
    enableMyLocation()
    enableCompass()
    Activarlos en onResume() y desactivarlos
     en onPause.
 MapView.postInvalidate()     para actualizar
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
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
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()
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.
Poblando Polaris
   implements OnAnnotationSelectionChangedListener
   mPolarisMapView.setOnAnnotationSelectionChangedListener(this);
   @Override
       onAnnotationClicked
       onAnnotationSelected
       onAnnotationDeselected
   onAnnotationSelected
       Añadiendo imagen al globo de información
if (!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" />
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
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
¡GRACIAS A TODOS!

jm.pereira.g@gmail.com @JMPergar
 ismael.kix2902@gmail.com @kix2902

Más contenido relacionado

ODP
Taller mapsforge
santiagohiguera
 
PDF
Usando Google Maps en tu Android App
Oscar Salguero
 
PPTX
Taller Android Mapas
Rodrigo Saraguro
 
PPT
Desarrollo de apps Android basadas en localización
SlashMobility.com
 
PDF
184411440 mapas-geolocalizacion
xavazque2
 
PDF
Introducción al API Flash de Google Maps
Daniel Gallego Vico
 
PDF
SIBW - TAC - Trabajo - Daniel Díaz Salas
Daniel Díaz Salas
 
PPT
Google Earth Maps Api
BarCamp Quito
 
Taller mapsforge
santiagohiguera
 
Usando Google Maps en tu Android App
Oscar Salguero
 
Taller Android Mapas
Rodrigo Saraguro
 
Desarrollo de apps Android basadas en localización
SlashMobility.com
 
184411440 mapas-geolocalizacion
xavazque2
 
Introducción al API Flash de Google Maps
Daniel Gallego Vico
 
SIBW - TAC - Trabajo - Daniel Díaz Salas
Daniel Díaz Salas
 
Google Earth Maps Api
BarCamp Quito
 

Similar a Un atlas en la palma de la mano (20)

ODP
OpenStreetMap - Aplicaciones y casos de uso
Tagzania
 
PPTX
S3 2016 taller-javascript-v2
Manuel Gértrudix
 
PDF
Configuración de la "API de Google Maps"
Bugster18
 
PDF
Geolocalización con Software Libre
Luis Antonio Burbano
 
ODP
OpenStreetMap - Creación de mapas libres
Tagzania
 
PDF
Geolocalización con SW libre
campuspartyquito
 
PPTX
Competencia inicial iaca
andreacortes58
 
PDF
GDG DevFest Lighting Talks México
Juan José Rodriguez MsC.
 
PPT
Google Earth Maps Api Barcamp Quito 2009
Vicente Ordonez
 
ODP
Mejora de Health WorldBank 2017
Carlos Luis Sánchez Bocanegra
 
PDF
OpenStreetMap en Android
Jose Manuel Pereira Garcia
 
PPTX
Proyecto MoviFast
Christian Collaguazo Malla
 
PDF
Sistema de Taxi Compartido - Java
David Fernando Valladarez Muñoz
 
PDF
Neogeografia y OpenStreetMaps
territoriogis
 
PDF
OpenStreetMaps en DAL2014
Moisés G. Poyatos Benadero
 
PPTX
Geolocalización v2
Jimmy Atocza Ledesma
 
PPT
Google maps by Jordan Diaz
Jordan Diaz
 
ODP
ikiMap gvSIG Mini
Micho García
 
PDF
Nuestra primera aplicación Android
GDG Lima
 
PDF
LabAndroid: Taller "Mi Primera Aplicación Android"
Alberto Ruibal
 
OpenStreetMap - Aplicaciones y casos de uso
Tagzania
 
S3 2016 taller-javascript-v2
Manuel Gértrudix
 
Configuración de la "API de Google Maps"
Bugster18
 
Geolocalización con Software Libre
Luis Antonio Burbano
 
OpenStreetMap - Creación de mapas libres
Tagzania
 
Geolocalización con SW libre
campuspartyquito
 
Competencia inicial iaca
andreacortes58
 
GDG DevFest Lighting Talks México
Juan José Rodriguez MsC.
 
Google Earth Maps Api Barcamp Quito 2009
Vicente Ordonez
 
Mejora de Health WorldBank 2017
Carlos Luis Sánchez Bocanegra
 
OpenStreetMap en Android
Jose Manuel Pereira Garcia
 
Proyecto MoviFast
Christian Collaguazo Malla
 
Sistema de Taxi Compartido - Java
David Fernando Valladarez Muñoz
 
Neogeografia y OpenStreetMaps
territoriogis
 
OpenStreetMaps en DAL2014
Moisés G. Poyatos Benadero
 
Geolocalización v2
Jimmy Atocza Ledesma
 
Google maps by Jordan Diaz
Jordan Diaz
 
ikiMap gvSIG Mini
Micho García
 
Nuestra primera aplicación Android
GDG Lima
 
LabAndroid: Taller "Mi Primera Aplicación Android"
Alberto Ruibal
 
Publicidad

Último (20)

PPTX
ExcelTablasDinamicas02nivelintermedio.pptx
fernandoloza823
 
PPTX
Customer Events - DeepRacer L200_ES.pptx
jcoronel
 
PDF
ACTIVIDAD 2.pdf j
JuanVelandia33
 
PDF
La electricidad y la electrónica Tecno-Informática
edeppaulaobando
 
PDF
DIAGRAMA DE PARETO M. Camila Duque Loaiz
MariacamilaDuqueloai
 
PDF
La electricidad y la electrónica .pdf n
JuanVelandia33
 
PDF
Bulon ([Principal]).pdf kjihlkgjkjgjgghjgj
AlejandroAlonsoPajaJ
 
PDF
Conceptos básicos de programación trabajo grupal
darcyrobayo2007
 
PDF
Tecnología 2do período Eliana valencia.
ElianaValencia28
 
PDF
La electricidad y la electrónica por Antonia Diaz Bernal
edepantoniadiaz
 
PDF
operaciones unitarias clase 1 1-2025-1.pdf
RicardoFlores571358
 
PPTX
Descubre los Dispositivos de Salida y Como usar
AlexanderHermndez
 
PDF
Temas y subtemas de las fichas 1 y 2.pdf
linithzuniga
 
PDF
DIAGRAMA DE PARETO M Camila Duque Loaiza
MariacamilaDuqueloai
 
PDF
El candado imposible de abrir | Seguridad máxima explicada - Revista Técnica ...
Cerrajero 365 Valencia
 
PPTX
INTERNET DE LAS COSAS EN LA ACTUALIDAD.pptx
dennispedagogia
 
PDF
Diseño de Sistema de VideoVigilancia en la Plataforma de Telecom-USC-ar.pdf
Condor Tuyuyo
 
PDF
Chile Claro Swap Project Guidebook Version 1.4.1b.pdf
DarkoAlmanzaTrujillo
 
DOCX
Las nuevas tecnologías en la salud - enfermería técnica.
jhosselynmendoza1
 
PDF
0621 LOS MATERIALES Y SUS USOS .2º CICLO_compressed.pdf
AndreaAlegre18
 
ExcelTablasDinamicas02nivelintermedio.pptx
fernandoloza823
 
Customer Events - DeepRacer L200_ES.pptx
jcoronel
 
ACTIVIDAD 2.pdf j
JuanVelandia33
 
La electricidad y la electrónica Tecno-Informática
edeppaulaobando
 
DIAGRAMA DE PARETO M. Camila Duque Loaiz
MariacamilaDuqueloai
 
La electricidad y la electrónica .pdf n
JuanVelandia33
 
Bulon ([Principal]).pdf kjihlkgjkjgjgghjgj
AlejandroAlonsoPajaJ
 
Conceptos básicos de programación trabajo grupal
darcyrobayo2007
 
Tecnología 2do período Eliana valencia.
ElianaValencia28
 
La electricidad y la electrónica por Antonia Diaz Bernal
edepantoniadiaz
 
operaciones unitarias clase 1 1-2025-1.pdf
RicardoFlores571358
 
Descubre los Dispositivos de Salida y Como usar
AlexanderHermndez
 
Temas y subtemas de las fichas 1 y 2.pdf
linithzuniga
 
DIAGRAMA DE PARETO M Camila Duque Loaiza
MariacamilaDuqueloai
 
El candado imposible de abrir | Seguridad máxima explicada - Revista Técnica ...
Cerrajero 365 Valencia
 
INTERNET DE LAS COSAS EN LA ACTUALIDAD.pptx
dennispedagogia
 
Diseño de Sistema de VideoVigilancia en la Plataforma de Telecom-USC-ar.pdf
Condor Tuyuyo
 
Chile Claro Swap Project Guidebook Version 1.4.1b.pdf
DarkoAlmanzaTrujillo
 
Las nuevas tecnologías en la salud - enfermería técnica.
jhosselynmendoza1
 
0621 LOS MATERIALES Y SUS USOS .2º CICLO_compressed.pdf
AndreaAlegre18
 
Publicidad

Un atlas en la palma de la mano

  • 1. Un atlas en la palma de la mano Incluyendo mapas en Android por J. M. Pereira
  • 2. Presentación http://www.ingens-developments.com/ http://androcode.es/ Jose Manuel Pereira (@JMPergar) Ismael Reyes (@kix2902)
  • 3. Contenido  Google Maps en apps Android  android-mapviewballoons  Polaris  OpenStreetMap en Android  OSMDroid y OSMDroidBonusPack  MapsForge
  • 4. Nuestra app con Google 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. 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. Controlando nuestros mapas  MapView (findViewById)  setBuiltInZoomControls(boolean)  setSatellite(boolean)  MapController (MapView.getController)  setCenter(GeoPoint)  setZoom(int)  animateTo(GeoPoint)
  • 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. Poblando nuestros mapas  Capas o Overlays  MapView.getOverlays()  MyLocationOverlay  enableMyLocation()  enableCompass()  Activarlos en onResume() y desactivarlos en onPause.  MapView.postInvalidate() para actualizar
  • 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. 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. 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. 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. Poblando Polaris  implements OnAnnotationSelectionChangedListener  mPolarisMapView.setOnAnnotationSelectionChangedListener(this);  @Override  onAnnotationClicked  onAnnotationSelected  onAnnotationDeselected  onAnnotationSelected  Añadiendo imagen al globo de información if (!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. 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. 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