2013-07-07 51 views
2

我想說這是因爲我在中國,Google位置服務有時會出現問題。Android位置客戶端不如Google Maps應用程序準確

我使用LocationClient來獲取用戶的當前位置。

protected void onCreate(Bundle savedInstanceState) { 
    ... 
    mLocationClient = new LocationClient(this, this, this); 
    ... 
} 

非常簡單。然後在我的onConnected回調中,我找到了位置。

public void onConnected(Bundle connectionHint) { 
    Location location = mLocationClient.getLastLocation(); 
    ... 
} 

我回來的位置是永遠不變的,但它是關於〜500m從我的實際位置了。 GPS已啓用,但指示正在使用的圖標未啓用。我也在WiFi上,並有3G。

當我打開實際的Google地圖應用時,我的位置非常準確(與我在自己的應用中獲得的位置不同)。我還看到指示GPS正在使用的圖標。

問題

  1. 什麼是谷歌地圖的應用中的不同,以獲得更準確的位置和我怎麼做他們做什麼?
  2. 如果我找回錯誤的位置總是相同,那意味着什麼?沒有太多的過度推斷,中國的一個事實是,外國地圖數據公司已經協調了一個因素的偏差,他們必須使用特定的算法來糾正這種差異; Google地圖應用是否在執行此操作?

謝謝!

回答

1

中國有一個專門處理GPS數據的問題,因爲政府強制相關地圖製作公司增加一些偏差。 我堅持了一段時間。

3

使用方法'getLastLocation()'時,它提供了位置存儲的最佳已知位置。這也與您在清單文件中授予應用程序的權限級別有關。

嘗試同時使用:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 

在你的清單文件,看看它是否提高了精度。

+0

感謝您的建議,但我有這兩個權限,並嘗試刪除COARSE以及。根據我的理解,LocationClient或LocationManager將根據可用權限使用允許獲得的最準確位置。 – jargetz

1

廣告。 1 Google地圖不斷更新位置。嘗試遵循以下導入:http://developer.android.com/training/location/receive-location-updates.html

廣告。 2 getLastLocation可能會檢索上次更新的位置,如第1點中的更新。如果未更新,則只會得到相同的值。位置對象有附加時間,您可以看到它何時收到。

+0

感謝您的幫助。事實上,經過更多的測試後,我們發現這確實是一個問題,中國的地理位置受到一個因素的影響,我們在其他一些國家進行了測試,但沒有發現這個問題。 – jargetz

1
  1. 打開衛星視圖。正常的「矢量」視圖在中國被混淆了。出於某種原因,Google地圖應用沒有此問題。
  2. GPS返回的位置是正確的,即使在中國(考慮WGS84投影)。只有地圖不是。

其他地圖提供商如Baidu強制您使用自己的自定義實現LocationClient。通過這種方式,您可以獲取準備在地圖圖塊上使用的位置。

0

逾期答案,但是這並沒有說:

您可以設置locationClient的準確性,使用locationRequest。 例如

 mLocationRequest = LocationRequest.create(); 
     mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY); 
     mLocationClient.requestLocationUpdates(mLocationRequest, (LocationListener) this); 

您還可以設置更新的頻率。如果您需要高度精確的數據,請在幾秒鐘內讀取一堆讀數。然後看看每個閱讀的「準確度」數字。拋出精確度遠低於其他準確度的讀數。然後平均剩下的...

這是一個非常基本的算法,並且我在美國銀河系S5的1-2英尺範圍內獲得精度。

如果您使用較低的準確度,它將使用wifi和蜂窩結果來平均GPS數據。 GPS消耗更多的電池,因此在此設置中使用次數更少。 Wifi使用物理地址查找,因爲它始終讓我走向我家附近的公共道路,即使我處在它的中間。

+0

謝謝 - 這絕對是非常有用的,也是一件很好的事情。但就中國而言,中國政府確實不允許非中國公司持有準確的地圖,因此存在一致且可預測的抵消。 – jargetz

相關問題