Javascript Phonegap地理定位-频率选项

Javascript Phonegap地理定位-频率选项,javascript,jquery,cordova,jquery-mobile,Javascript,Jquery,Cordova,Jquery Mobile,我正在开发一个应用程序,我需要允许用户更改位置更新的频率,而不是硬编码 下面是一些我已经尝试过的东西,但是由于某种原因我得到了一个超时错误。有没有人遇到过类似的情况?或者我下面的代码可能有问题 watchID = navigator.geolocation.watchPosition(win, fail, { maximumAge: 10000, timeout: (parseFloat(userfreq)*1000), enableHighAccuracy: true }); userfre

我正在开发一个应用程序,我需要允许用户更改位置更新的频率,而不是硬编码

下面是一些我已经尝试过的东西,但是由于某种原因我得到了一个超时错误。有没有人遇到过类似的情况?或者我下面的代码可能有问题

watchID = navigator.geolocation.watchPosition(win, fail, { maximumAge: 10000, timeout: (parseFloat(userfreq)*1000), enableHighAccuracy: true });

userfreq是从数据库加载的值,是以秒为单位的值,例如0.25秒。因此,我将它乘以1000,将其更改为毫秒

如果您遇到超时超时位置错误,则可能会多次调用watchPosition(使用同一变量),或者在其他位置使用另一个变量多次调用watchPosition

检查前两个屏幕截图,如果使用相同变量或不同变量调用watchPosition两次,watchPosition将抛出错误。

要解决此问题,请将
clearWatch
与该变量一起使用

下面的屏幕截图显示了
clearWatch

我已经试过了,甚至在我真正设置watchID=navigator.geolocation之前就已经清除了手表。。。。然而,这并没有奏效。此外,ID是唯一的,一旦我从事件侦听器中准备好,我就会清除它。@user1809790我从中获得此ID,请在该页面中搜索
error.TIMEOUT
<代码>错误。如果没有足够新鲜的缓存位置可用,将出现超时。或者根本没有可用的缓存位置。