Java 为什么当前位置和FusedLocationClient.RequestLocationUpdate提供的位置之间存在差异
我只想在我从当前位置移动至少3米时获得当前位置的更新Java 为什么当前位置和FusedLocationClient.RequestLocationUpdate提供的位置之间存在差异,java,android,google-play-services,google-maps-android-api-2,fusedlocationproviderapi,Java,Android,Google Play Services,Google Maps Android Api 2,Fusedlocationproviderapi,我只想在我从当前位置移动至少3米时获得当前位置的更新 FusedLocationClient.requestLocationUpdates 为此,我提出了如下定位请求: private LocationRequest requestLocation(){ LocationRequest mLocationRequest = new LocationRequest();
FusedLocationClient.requestLocationUpdates
为此,我提出了如下定位请求:
private LocationRequest requestLocation(){
LocationRequest mLocationRequest = new LocationRequest();
mLocationRequest.setSmallestDisplacement(3.81f);
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
return mLocationRequest;
}
并实现如下:连接到play服务后
@Override
public void onConnected(Bundle bundle) {
mFusedLocationClient.requestLocationUpdates(requestLocation(),
new LocationCallback() {
@Override
public void onLocationResult(LocationResult locationResult) {
for (final Location location : locationResult.getLocations()) {
tvLat.setText(Double.toString(location.getLatitude()));
tvLng.setText(Double.toString(location.getLongitude()));
//changing position of marker and camera
changeCameraPosition(CameraUpdateFactory.newLatLngZoom(
new LatLng(location.getLatitude(), location.getLongitude()),
16), new GoogleMap.CancelableCallback() {
@Override
public void onFinish() {}
@Override
public void onCancel() { }
});
}
}
}, Looper.myLooper());
但我从这个离我目前位置至少650m远的地方得到了许可,即使我没有移动一点,这是我在清单中的权限:
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="permission.READ_GSERVICES" />
也许你可以检查一下这个:当你移动时,看看你的距离的差异,这样你就能知道过度移动发生在哪里。上一个位置和当前位置之间有差异吗,因为使用fusedlocation.lastlocation我们可以知道当前位置