El API de geolocalización de JavaScript permite acceder a la información de localización geográfica del dispositivo desde el que se visita una web. Esta información se obtiene de diversas fuentes, por ejemplo, de la dirección IP, de la torre de conexión móvil o de las coordenadas GPS. JavaScript puede acceder así a la latitud y longitud del dispositivo y enviarlas al servidor web dónde se pueden utilizar con fines muy diversos, la mayoría relacionados con ofrecer recursos personalizados y cercanos al usuario.
navigator.geolocation;
Puedes ver también en github
Existen 3 métodos.
Método | Descripción |
---|---|
getCurrentPosition(successCallback,errorCallback,options) | acceder a la posición actual del dispositivo. Una sola vez. |
watchPosition(successCallback,errorCallback,options) | Igual que anterior, se llama automáticamente cada vez que el dispositivo cambia de posición y genera un identificador de la operación. Activación continua. |
clearWatch(watchId) | cancela el proceso iniciado con anterior. |
Existen 3 parametros.
Parametro | Descripción |
---|---|
successCallback | obligatorio. Función callback que recibe el objeto Position con la información de posición actual en caso de que se obtenga correctamente. |
errorCallback | opcional. Función callback en caso de error. Recibe un objeto PositionError. |
options: | opcional. objecto con opciones. Entre las opciones que se pueden especificar están timeout (tiempo máximo de espera en milisegundos para recibir la información de localización. Por defecto es infinito), enableHighAccuracy (true/false, el dispositivo intentará obtener los datos más exactos posibles, puede alargar el tiempo de respuesta. Por defecto es false) y maximumAge (tiempo de caché de la información expresado en milisegundos, por defecto es cero, valor que deshabilita la caché). |
El método sucessCallBack recibe un objeto Position con los siguientes datos.
Propiedad | Descripción |
---|---|
coords.latitude | Latitud (grados decimales) |
coords.longitude | longitud(grados decimales) |
coords.altitude | Altura (metros) |
coords.accuracy | Rango error (metros) |
coords.altitudeAccuracy | |
coords.heading | Rumbo en grados desde el norte = 0 (grados) |
coords.speed | Velocidad (m/seg) |
timestamp | Fecha y hora dispositivo, Date(). |
Propiedad | Descripción |
---|---|
code | Codigo de erro |
message | Mensaje de error |
var options = { enableHighAccuracy: true, timeout: 6000, maximumAge: 0 }; navigator.geolocation.getCurrentPosition( success, error, options ); function success(position) { var coordenadas = position.coords; console.log('Tu posición actual es:'); console.log('Latitud : ' + coordenadas.latitude); console.log('Longitud: ' + coordenadas.longitude); console.log('Rumbo: ' + coordenadas.heading); }; function error(error) { console.warn('ERROR(' + error.code + '): ' + error.message); };