2013-10-24 364 views
0

我已經開始創建一個參考this tutorial 的運動跟蹤應用程序,所有的作品都很好。Phonegap地理位置跳轉

但是,當我停止跟蹤並進入地圖後,我發現公里遠遠超過了我已經確定通過的公里數,並且地圖顯示我在某些點上肯定無法達到目的在那裏...

(因爲我沒有從我的手機圖像我有模擬圖的結果與附加的圖像...) 的代碼是相同的教程代碼(有校處理刪除var的bug - 對於那些瞭解本教程的人員...)) 問題是什麼?

enter image description here

+0

根據我在創建基於位置的應用程序時使用任何GPS接收器設備的經驗(無論哪個平臺無關):無論何時您在一個位置保持靜態或遭受多路徑干擾時,GPS接收器都會給出跳動的位置。建議包括一個距離過濾器,以忽略任何相對距離超過您預計的每次GPS刷新。 – ecle

+0

請參閱http://www.esri.com/news/arcuser/0103/differential1of2.html中的**部分限制**段落 – ecle

回答

0

我發現一樣eee - 即同時使用GPS Android將間歇性地提供了非常不準確位置,所以最好的辦法是使用精度過濾器,這樣的事情:

var MinimumAccuracy = 20; // metres 
var options = { maximumAge: 0, timeout: 30000, enableHighAccuracy: true }; 
var watchID; 

function onSuccess(position){ 
    // Reject udpate if accuracy is not sufficient 
    if(position.coords.accuracy > MinimumAccuracy){ 
     console.warn("Position update rejected because accuracy of"+position.coords.accuracy+"m is less than required "+MinimumAccuracy+"m"); 
     return; 
    } 

    /* else, do something with position */ 

} 

function onError(error){ 
    // Log the error 
    console.error("Error while retrieving current position. Error code: " + error.code + ",Message: " + error.message); 
} 

navigator.geolocation.watchPosition(onSuccess, onError, options);