我有一个我正在为 phonegap 应用程序开发的 javascript 脚本,该应用程序获取设备位置,直到获得一定的目标精度。如果没有达到目标,脚本会再次调用自身进入永恒。通常需要 1-8 次尝试,具体取决于位置和上次使用的时间,然后一切正常。我遇到的问题是某些设备永远不会达到该阈值(这对应用程序来说很好),但会破坏电池寿命,因为该脚本一直在后台运行。那么如何通过单击事件(提交按钮)终止此脚本?我正在考虑设置一个点击提交按钮更改的全局变量。就像是:
if (var != 'quit') {
//function
} else {
///nothing
}
function getlocation(position) {
document.getElementById("lat").value = (position.coords.latitude);
document.getElementById("long").value = (position.coords.longitude);
document.getElementById("accu").value = (position.coords.accuracy);
var accuracy = parseInt(position.coords.accuracy, 10);
if (accuracy <= 50) {
$('#scanner').removeClass('littlered').addClass('littlegreen');
} else {
setTimeout(navigator.geolocation.getCurrentPosition(getDroplocation, onError, {
enableHighAccuracy: true
}), 3000);
}
}
不过,这并没有奏效。我设置了全局变量,但没有任何反应。有什么更好的方法或方法来实现我上述的想法吗?我在正确的轨道上吗?