我正在开发一个应用程序,我需要允许用户更改位置的频率更新他/她自己而不是硬编码。
以下是我尝试过的内容,但由于某种原因我遇到了超时错误。有没有人遇到过类似情况?或者我的代码可能有问题吗?
watchID = navigator.geolocation.watchPosition(win, fail, { maximumAge: 10000, timeout: (parseFloat(userfreq)*1000), enableHighAccuracy: true });
userfreq是从数据库加载的值,是以秒为单位的值,例如0.25秒。因此我将它乘以1000以将其更改为毫秒。
答案 0 :(得分:0)
如果您获得Timeout expired
位置错误,则会多次调用watchPosition(使用相同的变量),或者使用其他变量在其他位置多次调用watchPosition。
检查前两个屏幕截图,如果使用相同变量或不同变量调用两次,则watchPosition会抛出错误。
要解决此问题,请对该变量使用clearWatch
。
下面的屏幕截图显示了clearWatch
之后的地理定位结果