2011-09-05 141 views
4

我想在我的應用程序中使用罰款GPS位置。所以我遵循了一個簡單的教程(LocationManager的基本用法,明確指出GPS提供者,要求更新0毫秒,0米)並創建一個應用程序。我完全沒有感受到更新的準確性和速度。這是慢,最準確的是24米,但平均96.Android GPS精度

在同一個電話,從我運行相同的位置廣爲人知的GPS STATUS。我很驚訝地看到修復的準確程度。持續4-6米。

所以我關掉GPS狀態和運行我的應用程序 - 我看到精度6米,但秒鐘後,它是24,56,90,128 ....而上下波動96

現在,我不知道:這怎麼可能?是否有技巧提高準確性?!

有沒有人有很好的例子/教程?


它並不能幫助

讓我再說一遍:我獲得和打印的所有更新。所以我看到一系列精確的位置。

我看到了波動,我看到了最好的結果,而且從未如此12米。

現在在同一個地方,我開始GPS狀態=>,然後我看到精度如何達到4米!

首先,我想:哈哈,GPS狀態祕籍,只是devides準確性

但它似乎不是這樣的,因爲當我打開我的應用程序,並得到lastknown現在的位置它的確是一個精確4 !

而開始降低到最好的情況下12.

總結:相同HW,相同條件下,不同的應用程序=>不同精度!

所以我的問題:有沒有什麼竅門?任何額外的命令?任何特殊的電源設置?與「你的應用有多沉重」的關係?

有關:Android GPS. Location Listener does not want to acquire a fix :(

+0

我希望這將幫助你.. http://developer.android.com/guide/topics /位置/獲取-用戶位置。html#BestEstimate –

+0

不,它不。它只是過濾。 – user929298

+0

[提高GPS精度Android]的可能重複(http://stackoverflow.com/questions/3412416/improve-gps-accuracy-android) –

回答

-1

這個怎麼樣?

-set精度+設定功率要求高:

try{ 
    locator = new GeoLocator(this); 
    locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
    locationManager.addGpsStatusListener(new GPSStatusManager(locationManager)); 
    Criteria criteria = new Criteria(); 
    criteria.setAccuracy(Criteria.ACCURACY_FINE); 
    criteria.setPowerRequirement(Criteria. POWER_HIGH); 
    bestProvider = locationManager.getBestProvider(criteria, true); 
    Bundle bundle = new Bundle(); 
    //I copied the next two lines out of some tutorial hoping that they would help boost my gps, but I'm really not sure what they do 
    boolean xtraInjection=locationManager.sendExtraCommand(LocationManager.GPS_PROVIDER, 
              "force_xtra_injection",bundle); 
    boolean timeInjection=locationManager.sendExtraCommand(LocationManager.GPS_PROVIDER, 
              "force_time_injection",bundle); 
    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 0.0f, locator); 
}catch(Exception e){} 
1

谷歌已經發布了一個很好的API在其最近的谷歌IO 2013事件:

https://developers.google.com/events/io/sessions/324498944

你應該檢查一下,看看你怎樣才能最小化你的代碼。

請注意,它要求設備具有Play商店應用程序才能使用。

這種方法比使用正常的位置傳感器的許多優點(電池,速度,精度,...)