2017-10-06 87 views
-1

我試圖實現獲取當前位置。我已經使用這兩個代碼。在android中獲取當前精確位置的最佳方式是什麼?

mFusedLocationClient = 
LocationServices.getFusedLocationProviderClient(this); 
mFusedLocationClient.getLastLocation()... 

定位精度2000米

ReactiveLocationProvider locationProvider = new ReactiveLocationProvider(context); 
locationProvider.getLastKnownLocation()... 

位置acccuracy爲100〜200米。

我覺得反應的位置是最準確的。有沒有最好的方法來獲得準確的當前位置。和任何人可以解釋爲什麼谷歌代碼不顯示確切的位置?

+0

嗨@Umakant使用GogleApiClient,它會給出準確的位置 – Shanmugam

回答

2

您可以創建LocationRequest ans setPriorityLocationRequest.PRIORITY_HIGH_ACCURACY並且它將具有很高的準確性。雖然精確度取決於GPS,但有時我可以獲得10米的精度。

protected void createLocationRequest() { 
     mLocationRequest = new LocationRequest(); 
     mLocationRequest.setInterval(INTERVAL); 
     mLocationRequest.setFastestInterval(FASTEST_INTERVAL); 
     mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY); 
    } 

要知道更多,你可以參考Fused location provider

+0

感謝您的答覆哥們,您的意思是使用位置更新概念對嗎?或者我們可以將此設置添加到getLastKnownLocation? –

+0

您可以使用GoogleApiClient添加locationRequest。你可以參考我在回答中提到的鏈接。您將會了解FusedLocationAPI的全部概念@UmakantAngadi – Kuls

0

他們兩人都是正確的,但出於我的經驗,以及反應更爲準確,但在一般情況下,它們提供更高的精確度,當你給他們時間來解決。這意味着如果您實例化LocationProvider並立即嘗試查詢它可能無法提供最準確的位置的位置,我寧願建議給用戶一個刷新按鈕,以查看該位置現在是否比前一個位置更準確。 WhatsApp位置發件人就是一個很好的例子,用戶可以刷新當前位置以找到更準確的座標。

+0

感謝您的回覆。你有什麼想法爲什麼反應式代碼比谷歌代碼更好。 –

相關問題