2014-12-06 27 views
0

我正在嘗試爲我的緊急警報應用程序獲取準確位置。我已經在使用locationManager來獲取位置,但使用這種技術獲取位置需要大約30秒,我正在尋找更準確的方法來獲取更快的&。GoogleApiClient Vs LocationClient在Android中獲取準確位置

這裏的主要目標是獲得更快/準確的位置(室內或室外)。

我決定爲此使用GooglePlayservices API。我發現有兩個選項LocationClient和GoogleApiClient?

我不確定這裏最好的是什麼?有人能告訴我兩者有什麼不同嗎?還是有更好的選擇?

讓我知道!

謝謝!

回答

2

GoogleApiClient位置客戶端是好的,如果你需要一個融合高精度位置。

融合我的意思是使用Wifi,GPS等計算出的位置。

使用位置客戶端,您必須選擇提供者。你甚至可以使用一個標準,但在這種情況下,我認爲這些信息不是「融合」的。在你的情況下,我認爲最好的選擇是使用GoogleApiClient位置客戶端,你可以使用getLastLocation()

1

我建議不僅hasstated的原因@ gresywolf82使用GooglePlayServices,而且還因爲它是獲得位置數據的最穩定的方法。 根據我的經驗,我遇到過一些Android設備可能會從SDK的locationManager獲取位置的問題,這是由於SDK中可能存在的錯誤,您可以在Android開源項目 - 問題跟蹤器中檢查問題,的LocationManager here

我已經找到了前面的問題我在使用的LocationManager並切換到谷歌播放服務API時,絕對沒有問題。

總之,不僅僅是爲了提高精度,而且爲了在各種設備中保持更好的穩定性,我絕對推薦使用Google Play Services API。

1

LocationClient和GoogleApiClient都提供融合位置。 它是您需要指定您自己的提供者的LocationManager,如果您想要推出自己的提供者,則這是低級別訪問。

據我所看到的,GoogleApiClient是LocationClient等GoogleApis的集合體(有人請。正確的,如果我錯了)。如果您只想定位LocationClient,則可以在沒有任何活動合規性的情況下執行。

在另一方面,它會出現GoogleApiClient需要與活動的生命週期緊密耦合,需要被斷開的onStop並連接在onStart。我在使用這種異步調用時遇到的麻煩是在我需要的時候試圖確保API已經啓動並準備就緒。因此,我通常會使用LocationClient並使其在Activity生命週期外運行。

這是有效的,但是如果你有耗電問題,你可能想要在應用程序處於後臺時斷開連接,並在應用程序進入前臺時重新連接。

相關問題