SlideShare uma empresa Scribd logo
1 de 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!

Mais conteúdo relacionado

Semelhante a 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
 

Semelhante a 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
 

Mais 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
 

Mais 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
 

Último

guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
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 JUNITMaricarmen Sánchez Ruiz
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 

Último (10)

guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.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
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.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!

Notas do Editor

  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.