2013-11-21 50 views
0

假設我必須使用一個提供商,比如說說GPS。我有一個最低精度要求和我需要一個信號滿足它。什麼是最佳實踐?以最低精度要求請求地理位置

我在做的是我打電話給「requestLocationUpdates」以獲得連續的位置,然後檢查每一個的準確性,最後當我得到一個好的時候調用「removeUpdates」。

我應該用minTimeminDistance纔會設置爲0,因爲精度隨機自帶足夠這樣做呢?或者我應該爲它設置一些特殊的值,因爲根據GPS的性質,除非我離開(比如說從建築物?),否則它可能繼續給我類似的準確度,或者我給它時間(比如隨機大氣條件或衛星位置更改?)?如果是這樣,它會是哪個值?

注意:根據this text,GPS使用更多的電力來獲得修復,而不是獲取地點後綴。對我而言,這意味着「requestSingleUpdate」對於精度要求是不好的。這是正確的嗎?

如果您使用NETWORK而不是,它會以相同的方式工作嗎?

+0

我也提到網絡,因爲我們的準確性要求(35m)有時可以滿足(根據我們的測試)。我們希望最好使用NETWORK來節省電力,但每當第一次開始持續給出不準確的精度時,就切換到GPS並返回。 – Vituel

+0

有趣......在我的經驗中,NETWORK通常在WiFi的範圍內提供〜100m的精確度,而在僅使用手機信號塔的情況下,通常會提供1000m的精度。 – Michael

回答

0

在你的情況下唯一的解決方案的工作原理:

集提供給GPS只,設定的時間和準確度最好的(0), 並從位置讀取屬性estimatedAccuracy自己決定,e.g。

它的確如此,初始定位需要大部分功率,所以每20秒啓用和禁用GPS都沒有意義。不幸的是,我不知道在幾分鐘內的閾值是在臨時禁用GPS時節省電池的地方。

目前僅對GPS(3-6m)和網絡(GSM小區:1000m)之間的區分有意義,但WLAN有時會比GSM小區定位更好,但通常不可用,而且可靠性較差。 如果您爲了您的應用程序決定需要更多或更少的敏捷位置,那麼除「最佳」之外的準確性要求是沒有意義的。