2012-04-10 43 views
0

我創建的應用程序可以在駕駛Android位置類時獲取用戶速度。我面臨的問題是論壇或文章上的每篇文章都解釋了getSpeed()方法的問題。剛進入我的車進行多次測試,它返回0.我不知道爲什麼,只是想知道是否有人能夠找出爲什麼以及如何獲得實際速度?從位置Android getSpeed

在此先感謝

回答

1

getSpeed工作得很好,只要你有在您的設備功能的GPS硬件,你必須在視線足夠的衛星。我正在使用它來進行飛行記錄應用程序。

getSpeed的一個問題是,仿真器將始終返回0;即使它被提供有速度信息的NMEA數據。所以測試需要真實的設備。

如果GPS接收器在車內,有一個問題可能是,它無法及時獲取足夠的衛星進行測試。請嘗試將設備留在擋風玻璃附近(如果它沒有覆蓋基於金屬的反射表面),並給它時間來修理。考慮使用GpsStatusListener來獲取可見衛星的數量。

上面提到的從樣本距離計算速度的技巧需要過濾數據。您使用的樣本越多,獲得的噪音就越多(需要過濾,在此處搜索,在此主題上有幾篇關於stackoverflow的文章)。您使用的樣本越少,則表示不在直線上移動時的誤差。