2017-03-13 53 views
0

我正在使用google api融合位置。我希望以高精度獲取當前位置,而無需使用LocationListener接口連續跟蹤位置。getLastLocation()是否爲當前位置發出請求?

我有一個簡單的用例:用戶點擊按鈕,應用程序將顯示當前的經緯度(新位置)。

然後,getLastLocation()是否從緩存中檢索位置(這意味着在某些情況下它可能不準確)或發出位置請求以獲取新數據?

如果否,是否有可能實現我的用例而不實現LocationListener接口?

+1

getLastLocation從緩存中,如果你需要somethng準確,你需要@tyczj我已經與此相關的查詢使用LocationListener的 – tyczj

+0

,請回答。如果我只使用locationListener,onLocationChanged()會被調用一次(在開始時),儘管我的位置沒有改變(例如:在家中)? – tahsinRupam

回答

0

根據the andoid website的文檔。

要請求上一個已知位置,請調用getLastLocation()方法,並將它傳遞給您的GoogleApiClient對象的實例。在Google API客戶端提供的onConnected()回調中執行此操作,該操作在客戶端準備就緒時調用。以下代碼片段說明了請求並簡單處理了響應:

這意味着當您撥打getLastLocation()時,它不會更新位置。這將在基於更新的服務上完成。

您可以要求位置更新,使用此功能

protected void startLocationUpdates() { 
    LocationServices.FusedLocationApi.requestLocationUpdates(
    mGoogleApiClient, mLocationRequest, this); 
} 
相關問題