SlideShare une entreprise Scribd logo
1  sur  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!

Contenu connexe

Similaire à 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 2014Fernando Gallego
 
Geolocalización en HTML5
Geolocalización en HTML5Geolocalización en HTML5
Geolocalización en HTML5Elemental Geeks
 
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ónSlashMobility.com
 
Geolocalización con Software Libre
Geolocalización con Software LibreGeolocalización con Software Libre
Geolocalización con Software LibreLuis Antonio Burbano
 
Geolocalización con SW libre
Geolocalización con SW libreGeolocalización con SW libre
Geolocalización con SW librecampuspartyquito
 
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"Alberto Ruibal
 
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 AppOscar Salguero
 
Microsoft Virtual Academy - Xamarin iOS
Microsoft Virtual Academy - Xamarin iOSMicrosoft Virtual Academy - Xamarin iOS
Microsoft Virtual Academy - Xamarin iOSenriqueaguilar
 
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)Cristina Urdiales
 
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 appsSoftware Guru
 
UNIVERSIDAD TECNOLÓGICA ISRAEL PROYECTO.pptx
UNIVERSIDAD TECNOLÓGICA ISRAEL PROYECTO.pptxUNIVERSIDAD TECNOLÓGICA ISRAEL PROYECTO.pptx
UNIVERSIDAD TECNOLÓGICA ISRAEL PROYECTO.pptxWilmerPatricio5
 
Modulo19 Localización
Modulo19 LocalizaciónModulo19 Localización
Modulo19 LocalizaciónEduardo
 

Similaire à 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
 

Plus de Rodolfo Finochietti

Introduction to Rust language programming
Introduction to Rust language programmingIntroduction to Rust language programming
Introduction to Rust language programmingRodolfo Finochietti
 
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 LinuxRodolfo Finochietti
 
Aplicaciones Real-Time con SignalR
Aplicaciones Real-Time con SignalRAplicaciones Real-Time con SignalR
Aplicaciones Real-Time con SignalRRodolfo Finochietti
 
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 vNextRodolfo Finochietti
 
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.1Rodolfo Finochietti
 
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 2013Rodolfo Finochietti
 
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 2013Rodolfo 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 desarrolladoresRodolfo Finochietti
 

Plus de 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
 

Dernier

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
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 eyvanamcerpam
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
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...JohnRamos830530
 
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.FlorenciaCattelani
 
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 ASPECTOSpptxJorgeParada26
 
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 estossgonzalezp1
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
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.pptxAlan779941
 

Dernier (11)

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
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
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
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...
 
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.
 
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
 
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
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
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
 

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!

Notes de l'éditeur

  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.