我在获取 Android 中的当前位置时遇到问题。
我正在使用android 的FusedLocationAPI。但是我得到的纬度和经度不准确。我将该凭据粘贴在谷歌地图上,它显示的位置与我的准确位置不同。
我还尝试获取位置更新并通过 验证准确度Location.getAccuracy()
,这里我得到的最小准确度是 10 米。在这里,我使用Fine Location作为许可。所以在这里我的问题是,我怎样才能得到我的准确位置,换句话说,精度小于 5 米。?
我的代码是
GoogleApiClient mGoogleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(LocationServices.API)
.enableAutoManage(this, this)
.build();
LocationRequest mLocationRequest = new LocationRequest();
mLocationRequest.setInterval(UPDATE_INTERVAL_IN_MILLISECONDS);
mLocationRequest.setFastestInterval(FASTEST_UPDATE_INTERVAL_IN_MILLISECONDS);
mLocationRequest.setSmallestDisplacement(1);
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient,mLocationRequest,MainActivity.this);
@Override
public void onLocationChanged(Location location) {
Toast.makeText(MainActivity.this,";-"+location.getAccuracy(),Toast.LENGTH_LONG).show();
if(location.hasAccuracy() && location.getAccuracy()<lastLocationAccuracy){
latitude = location.getLatitude();
longitude = location.getLongitude();
}
}