我已經創建了可與Google地圖一起工作的應用程序,並且它可以與Google地圖服務一起使用。但是出現了一個問題。 時,我有時會要求當前位置它做工精細,並返回準確的當前位置,但其他時候,它返回一個當前位置 在那裏我不是。 誰可以給我提供的解決方案 這是代碼爲什麼使用谷歌地圖和Android獲取當前位置有時會返回最後一個位置而不是當前位置
private GoogleApiClient mLocationclient;
GoogleMap mMap;
// connect client to the map by take his location
mLocationclient = new GoogleApiClient.Builder(this)
.addApi(LocationServices.API)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.build();
mLocationclient.connect();
// end connect
//獲取當前位置
public LatLng getCurrentLocation(Context context, GoogleMap mMaps,GoogleApiClient mlocationclient){
LatLng ll=null;
Location currentLocation= LocationServices.FusedLocationApi.getLastLocation(mlocationclient);
if(currentLocation==null)
Toast.makeText(context,"could not connect",Toast.LENGTH_SHORT).show();
else {
ll=new LatLng(
currentLocation.getLatitude(),
currentLocation.getLongitude()
);
}
return ll;
}
,因爲這是最後一次能得到一個成功的位置。如果你需要一些非常準確的東西,那麼你應該使用請求位置更新 – tyczj
獲得一次性位置,那麼下一次該問題阻止它形成當前位置。並沒有U意味着聽改變當前位置 –
是的,你需要聽一次的位置更改 – tyczj