2014-12-07 158 views
1

我得到了LocationListener的位置與下面的代碼配置:Android的GPS定位真正精度差

LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE); 
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 60000, 5.0, locationListener); 
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 60000, 5.0, locationListener); 

位置,我得到的是innacurate非常頻繁。 「全球定位系統」供應商的位置準確度約爲10-20米,但實際上可能約爲500米。而在原生Android應用程序谷歌地圖,我看到我的位置足夠準確。

我懷疑Google是否使用了其他API。是否有另一種獲取Android位置的方法?

  • 操作系統:Android 4.4的
  • 智能手機型號:道格旅行者2號DG310

回答

2

谷歌應用程序使用一個名爲 「稠位置提供者」(read more here)的專有供應商。該提供商仍然使用背景中出現的網絡和GPS提供商。

來自網絡提供商的第一個定位修復程序大部分時間的精確度大於1000米,因爲它來自BTC(手機信號塔)。幾秒鐘後,基於Wi-Fi的精確度應該降低到20-50米左右。 GPS提供的位置通常具有最高準確度20米,但是當您在人口稠密的高建築區域並且與GPS衛星連接不良時,該位置可能會增加。

我最近發現了Smart Location Library,它應該提供輕鬆訪問GPS,網絡或融合提供商與活動識別相結合,以減少電池消耗。