SlideShare ist ein Scribd-Unternehmen logo
1 von 21
HTML5 Geolocalizacion

     Rodolfo Finochietti
HTML5 Geolocalizacion
Geolocalizacion
•   Permite a los usuarios compartir su ubicación
•   Muestra la posición de un usuario en el mapa
•   Util para Tagging de contenido (fotos/videos)
•   Navegación Turn-by-turn
•   Alertar de puntos de interés
•   Social networking
Demo
Arquitectura
Informacion de localizacion
La informacion de localizacion consiste
en coordendas de latitud y longitud, e
informacion de presicion
Informacion de localizacion
• Dependiendo del dispositivo, metadata
  adicional puede ser provista:
  • Altitud
  • Velocidad
• Si no hay informacion adicional se recibe
  a null
Fuentes de informacion de localizacion
• Un dispositivo puede usar alguna de las
  siguientes fuentes:
  • IP Address
  • Coordinate triangulation
  • Global Positioning System (GPS)
  • Wi-Fi with MAC addresses from RFID, Wi-Fi, and
    Bluetooth
  • GSM or CDMA cell phone IDs
  • User defined
Privacidad
Usando la API de Geolocalizacion




          Copyright © 2010, Kaazing Corporation,. All rights reserved.
JavaScript
 //Checking for browser support:
 if(navigator.geolocation) {
      document.getElementById("support").innerHTML =
      "HTML5 Geolocation is supported.";
    } else {
       document.getElementById("support").innerHTML =
       "HTML5 Geolocation is not supported.";
  }
Tipos
• Hay dos tipos:
  1. Por unica vez
     (getCurrentPosition)
  2. Actualizacion de la posicion
     (watchPosition)
JavaScript
 //One shot request
 void getCurrentPosition(
       in PositionCallback successCallback,
       in optional PositionErrorCallback errorCallback,
       in optional PositionOptions options);

 //Access user’s position
 navigator.geolocation.getCurrentPosition(
                  updateLocation, handleLocationError);
JavaScript
 //Update the UI
 function updateLocation(position) {
   var latitude = position.coords.latitude;
   var longitude = position.coords.longitude;
   var accuracy = position.coords.accuracy;

     document.getElementById("latitude").innerHTML =
              latitude;
     document.getElementById("longitude").innerHTML =
              longitude;
     document.getElementById(“accuracy”).innerHTML =
              “This location is accurate within “ +
               accuracy + “ meters.”
 }
Codigos de error
•   UNKNOWN_ERROR (code 0)
•   PERMISSION_DENIED (code 1)
•   POSITION_UNAVAILABLE (code 2)
•   TIMEOUT (code 3)




                Copyright © 2010, Kaazing Corporation,. All rights reserved.
JavaScript


 //Repeated position updates
 var watchId =
 navigator.geolocation.watchPosition(
           updateLocation, handleLocationError);

 // do something with the location updates!
 // ...

 // Stop receiving location updates
 navigator.geolocation.clearWatch(watchId);




                    Copyright © 2010, Kaazing Corporation,. All rights reserved.
Integración de con Google Maps
• Las coordenadas no son fáciles de descifrar sin
  verlas en un mapa
• Google Maps tiene soporte para HTML5
  Geolocation
JavaScript
 //Show coordinates on a Google Map
 // Create a Google Map
 //See Google API for more detail
 var map = new
 google.maps.Map2(document.getElementById("map"));

 function updateLocation(position) {
   //pass the position to the Google Map and center it
   map.setCenter(new google.maps.LatLng(
        position.coords.latitude,
        position.coords.longitude,
        13); // zoom level
 }

 navigator.geolocation.getCurrentPosition(
           updateLocation, handleLocationError);
Browser Support
•   Firefox 3.5
•   Safari 5.0
•   Chrome 5.0
•   Opera 10.6
•   IE 9+
¿Preguntas?
rodolfof@lagash.com
http://twitter.com/rodolfof
   http://shockbyte.net




     ¡GRACIAS!

Weitere ähnliche Inhalte

Ähnlich wie HTML5 Geolocalizacion

Realidad Aumentada más allá de Glass - Droidcon 2014
Realidad Aumentada más allá de Glass - Droidcon 2014Realidad Aumentada más allá de Glass - Droidcon 2014
Realidad Aumentada más allá de Glass - Droidcon 2014
Fernando Gallego
 

Ähnlich wie HTML5 Geolocalizacion (20)

Api geolocation
Api geolocationApi geolocation
Api geolocation
 
Geolocalización v2
Geolocalización v2Geolocalización v2
Geolocalización v2
 
Un atlas en la palma de la mano
Un atlas en la palma de la manoUn atlas en la palma de la mano
Un atlas en la palma de la mano
 
Realidad Aumentada más allá de Glass - Droidcon 2014
Realidad Aumentada más allá de Glass - Droidcon 2014Realidad Aumentada más allá de Glass - Droidcon 2014
Realidad Aumentada más allá de Glass - Droidcon 2014
 
Segunda sesion
Segunda sesionSegunda sesion
Segunda sesion
 
Html5 tips
Html5 tipsHtml5 tips
Html5 tips
 
Geolocalización en HTML5
Geolocalización en HTML5Geolocalización en HTML5
Geolocalización en HTML5
 
Desarrollo de apps Android basadas en localización
Desarrollo de apps Android basadas en localizaciónDesarrollo de apps Android basadas en localización
Desarrollo de apps Android basadas en localización
 
Geolocalización con Software Libre
Geolocalización con Software LibreGeolocalización con Software Libre
Geolocalización con Software Libre
 
Geolocalización con SW libre
Geolocalización con SW libreGeolocalización con SW libre
Geolocalización con SW libre
 
Presentacion geolocalización
Presentacion geolocalización Presentacion geolocalización
Presentacion geolocalización
 
LabAndroid: Taller "Mi Primera Aplicación Android"
LabAndroid: Taller "Mi Primera Aplicación Android"LabAndroid: Taller "Mi Primera Aplicación Android"
LabAndroid: Taller "Mi Primera Aplicación Android"
 
PhoneGap Basics v1.0
PhoneGap Basics v1.0PhoneGap Basics v1.0
PhoneGap Basics v1.0
 
Usando Google Maps en tu Android App
Usando Google Maps en tu Android AppUsando Google Maps en tu Android App
Usando Google Maps en tu Android App
 
Ios.s11
Ios.s11Ios.s11
Ios.s11
 
Microsoft Virtual Academy - Xamarin iOS
Microsoft Virtual Academy - Xamarin iOSMicrosoft Virtual Academy - Xamarin iOS
Microsoft Virtual Academy - Xamarin iOS
 
Plataforma de informacion geolocalizada para Android (Antonio Lopez Garcia)
Plataforma de informacion geolocalizada para Android (Antonio Lopez Garcia)Plataforma de informacion geolocalizada para Android (Antonio Lopez Garcia)
Plataforma de informacion geolocalizada para Android (Antonio Lopez Garcia)
 
Tips para incorporar geolocalización en tus apps
Tips para incorporar geolocalización en tus appsTips para incorporar geolocalización en tus apps
Tips para incorporar geolocalización en tus apps
 
UNIVERSIDAD TECNOLÓGICA ISRAEL PROYECTO.pptx
UNIVERSIDAD TECNOLÓGICA ISRAEL PROYECTO.pptxUNIVERSIDAD TECNOLÓGICA ISRAEL PROYECTO.pptx
UNIVERSIDAD TECNOLÓGICA ISRAEL PROYECTO.pptx
 
Modulo19 Localización
Modulo19 LocalizaciónModulo19 Localización
Modulo19 Localización
 

Mehr von Rodolfo Finochietti

Que hay de nuevo en 2013 en la plataforma Microsoft para desarrolladores
Que hay de nuevo en 2013 en la plataforma Microsoft para desarrolladoresQue hay de nuevo en 2013 en la plataforma Microsoft para desarrolladores
Que hay de nuevo en 2013 en la plataforma Microsoft para desarrolladores
Rodolfo Finochietti
 

Mehr von Rodolfo Finochietti (20)

Introduction to Rust language programming
Introduction to Rust language programmingIntroduction to Rust language programming
Introduction to Rust language programming
 
C#: Past, Present and Future
C#: Past, Present and FutureC#: Past, Present and Future
C#: Past, Present and Future
 
Go
GoGo
Go
 
Re-bot-lution
Re-bot-lutionRe-bot-lution
Re-bot-lution
 
Azure Functions
Azure FunctionsAzure Functions
Azure Functions
 
Despliegue y Monitoreo de aplicaciones ASP.NET Core en Linux
Despliegue y Monitoreo de aplicaciones ASP.NET Core en LinuxDespliegue y Monitoreo de aplicaciones ASP.NET Core en Linux
Despliegue y Monitoreo de aplicaciones ASP.NET Core en Linux
 
Windows 10 Developer Readiness
Windows 10 Developer ReadinessWindows 10 Developer Readiness
Windows 10 Developer Readiness
 
Aplicaciones Real-Time con SignalR
Aplicaciones Real-Time con SignalRAplicaciones Real-Time con SignalR
Aplicaciones Real-Time con SignalR
 
ASP.NET 5
ASP.NET 5ASP.NET 5
ASP.NET 5
 
Roslyn: el futuro de C#
Roslyn: el futuro de C#Roslyn: el futuro de C#
Roslyn: el futuro de C#
 
Microsoft 2014 Dev Plataform - Roslyn -& ASP.NET vNext
Microsoft 2014 Dev Plataform -  Roslyn -& ASP.NET vNextMicrosoft 2014 Dev Plataform -  Roslyn -& ASP.NET vNext
Microsoft 2014 Dev Plataform - Roslyn -& ASP.NET vNext
 
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1
 
Proyectos de Base de Datos con Visual Studio 2013
Proyectos de Base de Datos con Visual Studio 2013Proyectos de Base de Datos con Visual Studio 2013
Proyectos de Base de Datos con Visual Studio 2013
 
ALM con Visual Studio y TFS 2013
ALM con Visual Studio y TFS 2013ALM con Visual Studio y TFS 2013
ALM con Visual Studio y TFS 2013
 
Que hay de nuevo en 2013 en la plataforma Microsoft para desarrolladores
Que hay de nuevo en 2013 en la plataforma Microsoft para desarrolladoresQue hay de nuevo en 2013 en la plataforma Microsoft para desarrolladores
Que hay de nuevo en 2013 en la plataforma Microsoft para desarrolladores
 
Introducción a ASP.NET Web API
Introducción a ASP.NET Web APIIntroducción a ASP.NET Web API
Introducción a ASP.NET Web API
 
ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3
 
ASP.NET MVC Workshop Día 2
ASP.NET MVC Workshop Día 2ASP.NET MVC Workshop Día 2
ASP.NET MVC Workshop Día 2
 
ASP.NET MVC Workshop Día 1
ASP.NET MVC Workshop Día 1ASP.NET MVC Workshop Día 1
ASP.NET MVC Workshop Día 1
 
HTML5 Media Queries
HTML5 Media QueriesHTML5 Media Queries
HTML5 Media Queries
 

Kürzlich hochgeladen

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Kürzlich hochgeladen (11)

Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 

HTML5 Geolocalizacion

  • 1. HTML5 Geolocalizacion Rodolfo Finochietti
  • 3. Geolocalizacion • Permite a los usuarios compartir su ubicación • Muestra la posición de un usuario en el mapa • Util para Tagging de contenido (fotos/videos) • Navegación Turn-by-turn • Alertar de puntos de interés • Social networking
  • 6. Informacion de localizacion La informacion de localizacion consiste en coordendas de latitud y longitud, e informacion de presicion
  • 7. Informacion de localizacion • Dependiendo del dispositivo, metadata adicional puede ser provista: • Altitud • Velocidad • Si no hay informacion adicional se recibe a null
  • 8. Fuentes de informacion de localizacion • Un dispositivo puede usar alguna de las siguientes fuentes: • IP Address • Coordinate triangulation • Global Positioning System (GPS) • Wi-Fi with MAC addresses from RFID, Wi-Fi, and Bluetooth • GSM or CDMA cell phone IDs • User defined
  • 10. Usando la API de Geolocalizacion Copyright © 2010, Kaazing Corporation,. All rights reserved.
  • 11. JavaScript //Checking for browser support: if(navigator.geolocation) { document.getElementById("support").innerHTML = "HTML5 Geolocation is supported."; } else { document.getElementById("support").innerHTML = "HTML5 Geolocation is not supported."; }
  • 12. Tipos • Hay dos tipos: 1. Por unica vez (getCurrentPosition) 2. Actualizacion de la posicion (watchPosition)
  • 13. JavaScript //One shot request void getCurrentPosition( in PositionCallback successCallback, in optional PositionErrorCallback errorCallback, in optional PositionOptions options); //Access user’s position navigator.geolocation.getCurrentPosition( updateLocation, handleLocationError);
  • 14. JavaScript //Update the UI function updateLocation(position) { var latitude = position.coords.latitude; var longitude = position.coords.longitude; var accuracy = position.coords.accuracy; document.getElementById("latitude").innerHTML = latitude; document.getElementById("longitude").innerHTML = longitude; document.getElementById(“accuracy”).innerHTML = “This location is accurate within “ + accuracy + “ meters.” }
  • 15. Codigos de error • UNKNOWN_ERROR (code 0) • PERMISSION_DENIED (code 1) • POSITION_UNAVAILABLE (code 2) • TIMEOUT (code 3) Copyright © 2010, Kaazing Corporation,. All rights reserved.
  • 16. JavaScript //Repeated position updates var watchId = navigator.geolocation.watchPosition( updateLocation, handleLocationError); // do something with the location updates! // ... // Stop receiving location updates navigator.geolocation.clearWatch(watchId); Copyright © 2010, Kaazing Corporation,. All rights reserved.
  • 17. Integración de con Google Maps • Las coordenadas no son fáciles de descifrar sin verlas en un mapa • Google Maps tiene soporte para HTML5 Geolocation
  • 18. JavaScript //Show coordinates on a Google Map // Create a Google Map //See Google API for more detail var map = new google.maps.Map2(document.getElementById("map")); function updateLocation(position) { //pass the position to the Google Map and center it map.setCenter(new google.maps.LatLng( position.coords.latitude, position.coords.longitude, 13); // zoom level } navigator.geolocation.getCurrentPosition( updateLocation, handleLocationError);
  • 19. Browser Support • Firefox 3.5 • Safari 5.0 • Chrome 5.0 • Opera 10.6 • IE 9+
  • 21. rodolfof@lagash.com http://twitter.com/rodolfof http://shockbyte.net ¡GRACIAS!

Hinweis der Redaktion

  1. The following steps are shown in the diagram: A user navigates to a location-aware application in the browser.The application web page loads and requests coordinates from the browser by making a Geolocation function call. The browser intercepts this and requests user permission. Let's assume that the permission is granted.The browser retrieves coordinate information from the device it is running on. For example, the IP address, Wi-Fi, or GPS coordinates. This is an internal function of the browser.The browser sends these coordinates to a trusted external location service, which returns a detailed location that can now be sent back to the host of the HTML5 Geolocation application.
  2. The successCallback function parameter tells the browser which function you want called when the location data is made available. This is important because operations such as fetching location data may take a long time to complete. No user wants the browser to be locked up while the location is retrieved, and no developer wants his program to pause indefinitely—especially because fetching the location data will often be waiting on a user to grant permission. The successCallback is where you will receive the actual location information and act on it.However, as in most programming scenarios, it is good to plan for failure cases. It is quite possible that the request for location information may not complete for reasons beyond your control, and for those cases you will want to provide an errorCallback function that can present the user with an explanation, or perhaps make an attempt to try again. While optional, it is recommended that you provide one.Finally, an options object can be provided to the HTML5 Geolocation service to fine-tune the way it gathers data. This is an optional parameter that we will examine later.