realtime - on location change android
navigator.geolocation.getCurrentPosition siempre obtiene un código de error 3: timeout expired (2)
Estoy usando cordova-2.0.0 y el emulador de Android google api level16.
Cada vez que ejecuto navigator.geolocation.getCurrentPosition
siempre obtengo error3
. mi código breve es como:
// Wait for Cordova to load
document.addEventListener("deviceready", onDeviceReady, false);
// Cordova is ready
function onDeviceReady() {
console.log("Entering index.html.onDeviceReady");
var networkState = navigator.network.connection.type;
getPosition(networkState);
}
function getPosition(networkState) {
console.log("Entering getPosition function");
console.log("networkState is: " + networkState);
if (networkState !== null) {
navigator.geolocation.getCurrentPosition(onSuccess, onError, {
maximumAge : Infinity,
timeout : 5000,
enableHighAccuracy : true
});
} else {
alert(''Please check your network connection and try again.'');
}
console.log("Leaving getPosition function");
}
// function for lat & lng
function onSuccess(position) {
console.log("Entering onSuccess(position) function");
console.log("Latitude is: " + position.coords.latitude);
console.log("longitude is: " + position.coords.longitude);
lat = position.coords.latitude;
lng = position.coords.longitude;
console.log("Leaving onSuccess(position) function");
}
// function for lat & lng
function onError(error) {
console.log("Entering onError(error) function");
alert(''code: '' + error.code + ''/n'' + ''message: '' + error.message + ''/n'');
console.log("Leaving onError(error) function");
}
Si alguien tiene idea de por qué se error3
, por favor brinde sugerencias. Muchas gracias
Esto me dejó perplejo por bastante tiempo. Básicamente, la única forma en que puedo conseguir que devuelva datos es pasando específicamente
enableHighAccuracy: false
Siempre agota el tiempo si lo habilito.
Lo hice
enableHighAccuracy: false
también, pero el temible "código de error 3" seguía apareciendo ... Ni
browser / settings / privacy and security / position / delete position access data
sí ayudó ... Sólo el ciclo de encendido (pero supongo que una muerte de navegador haría lo mismo) Android (4.1.2) obligó al navegador a repetir la pregunta "¿Compartir posición?" para el usuario, arroje el código de error 3 fuera de la puerta ...
Supongo que en alguna situación (que no puedo repetir, lo siento) el navegador almacena una posición no válida para ese sitio, o bien, recuerda una denegación de uso compartido para ese sitio ...
Perdón por la respuesta tardía (y tal vez de una manera incompleta) ... Si alguien tiene una mejor evidencia por favor compártelo ... :-)