# cordova-plugin-geolocation
[](https://travis-ci.org/apache/cordova-plugin-geolocation)
Este plugin proporciona información sobre la ubicación del dispositivo, tales como la latitud y longitud. Fuentes comunes de información de localización incluyen el sistema de posicionamiento Global (GPS) y ubicación deducido de las señales de la red como dirección IP, direcciones de RFID, WiFi y Bluetooth MAC y celulares GSM/CDMA IDs. No hay ninguna garantía de que la API devuelve la ubicación real del dispositivo.
Esta API se basa en la [Especificación de API de geolocalización W3C](http://dev.w3.org/geo/api/spec-source.html) y sólo se ejecuta en dispositivos que ya no proporcionan una implementación.
**ADVERTENCIA**: recopilación y uso de datos de geolocalización plantea cuestiones de privacidad importante. Política de privacidad de su aplicación debe discutir cómo la aplicación utiliza los datos de geolocalización, si se comparte con cualquiera de las partes y el nivel de precisión de los datos (por ejemplo, código postal grueso, fino, nivel, etc.). Datos de geolocalización es generalmente considerados sensibles porque puede revelar paradero del usuario y, si está almacenado, la historia de sus viajes. Por lo tanto, además de política de privacidad de la app, fuertemente considere dar un aviso de just-in-time antes de la aplicación tiene acceso a datos de geolocalización (si el sistema operativo del dispositivo ya no hacerlo). Que el aviso debe proporcionar la misma información mencionada, además de obtener un permiso del usuario (por ejemplo, presentando opciones para **Aceptar** y **No gracias**). Para obtener más información, por favor consulte a la guía de privacidad.
Este plugin define un global `navigator.geolocation` objeto (para plataformas donde falta lo contrario).
Aunque el objeto está en el ámbito global, características proporcionadas por este plugin no están disponibles hasta después de la `deviceready` evento.
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
console.log("navigator.geolocation works well");
}
## Instalación
Esto requiere cordova 5.0 + (1.0.0 estable actual)
cordova plugin add cordova-plugin-geolocation
Las versiones más antiguas de Córdoba todavía pueden instalar mediante el id obsoleto (0.3.12 rancio)
Cordova plugin agregar org.apache.cordova.geolocation
También es posible instalar directamente vía url repo (inestable)
cordova plugin add https://github.com/apache/cordova-plugin-geolocation.git
## Plataformas soportadas
* Amazon fire OS
* Android
* BlackBerry 10
* Firefox OS
* iOS
* Tizen
* Windows Phone 7 y 8
* Windows 8
* Windows
## Métodos
* navigator.geolocation.getCurrentPosition
* navigator.geolocation.watchPosition
* navigator.geolocation.clearWatch
## Objetos (sólo lectura)
* Position
* PositionError
* Coordinates
## navigator.geolocation.getCurrentPosition
Devuelve la posición actual del dispositivo a la `geolocationSuccess` "callback" con un `Position` objeto como parámetro. Si hay un error, el `geolocationError` "callback" pasa un `PositionError` objeto.
navigator.geolocation.getCurrentPosition (geolocationSuccess, [geolocationError], [geolocationOptions]);
### Parámetros
* **geolocationSuccess**: la devolución de llamada que se pasa a la posición actual.
* **geolocationError**: *(opcional)* la devolución de llamada que se ejecuta si se produce un error.
* **geolocationOptions**: *(opcional)* las opciones de geolocalización.
### Ejemplo
// onSuccess Callback
// This method accepts a Position object, which contains the
// current GPS coordinates
//
var onSuccess = function(position) {
alert('Latitude: ' + position.coords.latitude + '\n' +
'Longitude: ' + position.coords.longitude + '\n' +
'Altitude: ' + position.coords.altitude + '\n' +
'Accuracy: ' + position.coords.accuracy + '\n' +
'Altitude Accuracy: ' + position.coords.altitudeAccuracy + '\n' +
'Heading: ' + position.coords.heading + '\n' +
'Speed: ' + position.coords.speed + '\n' +
'Timestamp: ' + position.timestamp + '\n');
};
// onError Callback receives a PositionError object
//
function onError(error) {
alert('code: ' + error.code + '\n' +
'message: ' + error.message + '\n');
}
navigator.geolocation.getCurrentPosition(onSuccess, onError);
## navigator.geolocation.watchPosition
Devuelve la posición actual del dispositivo cuando se detecta un cambio de posición. Cuando el dispositivo recupera una nueva ubicación, el `geolocationSuccess` devolución de llamada se ejecuta con un `Position` objeto como parámetro. Si hay un error, el `geolocationError` devolución de llamada se ejecuta con un `PositionError` objeto como parámetro.
var watchId = navigator.geolocation.watchPosition(geolocationSuccess,
[geolocationError],
[geolocationOptions]);
### Parámetros
* **geolocationSuccess**: la devolución de llamada que se pasa a la posición actual.
* **geolocationError**: (opcional) la devolución de llamada que se ejecuta si se produce un error.
* **geolocationOptions**: opciones (opcional) la geolocalización.
### Devoluciones
* **Cadena**: devuelve un identificador de reloj que hace referencia el intervalo de posición del reloj. El id del reloj debe ser utilizado con `navigator.geolocation.clearWatch` para dejar de ver a los cambios de posición.
### Ejemplo
// onSuccess Callback
// This method accepts a `Position` object, which contains
// the current GPS coordinates
//
function onSuccess(position) {
var element = document.getElementById('geolocation');
element.innerHTML = 'Latitude: ' + position.coords.latitude + '
' +
'Longitude: ' + position.coords.longitude + '
' +
'