2012-12-31 45 views
1

我正在開發一個應用程序,我需要允許用戶更改他/她自己的位置更新頻率,而不是硬編碼它。Phonegap地理位置 - 頻率選項

下面是我嘗試過的東西,但是出於某種原因得到了Timeout錯誤。有沒有人遇到過類似的情況?或者,也許我的代碼在下面有什麼問題?

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

userfreq是從數據庫加載和以秒爲單位的值的值,如0.25秒。因此我將它乘以1000以將其更改爲毫秒。

回答

0

如果您得到Timeout expired位置錯誤,watchPosition會被多次調用(具有相同的變量),或者watchPosition會在其他地方被另一個變量多次調用。

檢查前兩個截圖,如果兩次調用相同變量或不同變量,watchPosition會拋出錯誤。 enter image description here

enter image description here

爲了解決此問題,使用clearWatch與該變量。

下面的截圖顯示了在clearWatch enter image description here

+0

我已經試過這一點,我甚至清除手錶之前,我確實設置的watchID = navigator.geolocation ....不過這次沒招地理位置的結果。此外,該ID是唯一的,一旦我準備好了,我將清除它。 – user1809790

+0

@ user1809790我從[W3](http://dev.w3.org/geo/api/spec-source.html)得到了這個,在那個頁面中搜索'error.TIMEOUT'。 如果**沒有足夠新的可用緩存位置,則會出現'error.TIMEOUT' **或**根本沒有可用的緩存位置** –