Geolocalizando a un usuario con HTML5

15/Sep/2012 HTML5 4 Comentarios

En HTML5 tenemos la capacidad de geolocalizar a un usuario, es decir, saber la posición en la que se encuentra mostrándola en una posición de longitud y latitud.

El dispositivo de usuario obtendrá la posición geolocalizada de diferentes formas: o bien tirando del dispositivo GPS (si lo tuviera) o bien obteniéndolo del WIFI o router de la red a la que esté conectado. La diferencia estará en la exactitud de la posición obtenida.

Para realizar la geolocalización habrá que tirar del objeto navigator.geolocation. Así que lo primero que tendremos que comprobar es si el navegador soporta dicho objeto:

  1. if (navigator.geolocation) {...}

En el caso de que haya soporte del objeto navigator.geolocation invocaremos el método .getCurrentPosition() Este método recibe como parámetro la función de callback en la que estará el resultado de la geolocalización.

  1. var x=document.getElementById("posicion");
  2. if (navigator.geolocation) {
  3. navigator.geolocation.getCurrentPosition(showPosition);
  4. } else {
  5. x.innerHTML="Geolocation is not supported by this browser.";
  6. }

En nuestro caso la función showPosition será la que reciba la posición. Esta función recibe un objeto Position con la posición de la geolocalización. El objeto Position tiene los atributos latitude y longitude en los cuales encontramos la posición.

  1. function showPosition(position) {
  2. x.innerHTML="Latitude: " + position.coords.latitude +
  3. "<br />Longitude: " + position.coords.longitude;
  4. }

Lo último que hemos hecho ha sido volcar el contenido sobre una capa.

Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D

4 comentarios en “Geolocalizando a un usuario con HTML5”

Víctor Cuervo

Víctor Cuervo

@squall,

Me alegro que te haya servido. 😀

Víctor Cuervo

squall

que simplicidad. muchas gracias x la info

Los comentarios están cerrados.