Apache Cordova geolocation.watchPosition () agota el tiempo de espera en iOS cuando está parado

Cuando utilizo la geolocalización cordova-plugin de Apache Cordova, específicamente con watchPosition (), encuentro dificultades en al menos iOS 8.1.3 a 8.3. Lo que sucede es que cuando un usuario se mueve, las coordenadas funcionan bien y se actualizan continuamente. Sin embargo, cuando el usuario se detiene por unos momentos (por ejemplo, el tiempo de espera establecido), se genera un error de tiempo de espera. En el segundo en que el usuario vuelve a moverse, las coordenadas funcionan.

No podemos aumentar demasiado el tiempo de espera por temor a que los usuarios pierdan legítimamente la recepción y tengan que volver a registrar sus límites de campo (aplicación agrícola) nuevamente. Dicho esto, aumentamos el tiempo de espera a 65000 y todavía logramos obtener el mensaje de tiempo de espera.

Mi teoría de trabajo actual es que, por cualquier motivo, si no se detecta movimiento, el complemento arroja un mensaje de tiempo de espera en lugar de darme las mismas coordenadas una y otra vez. No estoy seguro de si esto podría ser algún tipo de funcionalidad de ahorro de batería o un error real con iOS y / o el complemento.

geoWatch = window.navigator.geolocation.watchPosition(
    gpsChangeCoordinates,
    function(error){
        $("#signal").html("Error: "+error.message);
        $("#signal").css("background-color","red");
    },
    {maximumAge:3000, timeout:15000, enableHighAccuracy:true});
);

Un cambio a getCurrentPosition () tampoco es válido porque, a menos que el GPS se realice un sondeo continuo, la precisión no alcanza ni permanece en los niveles necesarios para fines agrícolas.

Este problema no aparece en Android.

Respuestas a la pregunta(1)

Su respuesta a la pregunta