0
我只是想获得当前位置更新,当我摆脱当前的位置ATLEAST3米为了这个,我用为什么没有通过FusedLocationClient.requestLocationUpdates
FusedLocationClient.requestLocationUpdates
为了这个,我做LocationRequest提供当前位置和位置之间的差异像这样:
private LocationRequest requestLocation(){
LocationRequest mLocationRequest = new LocationRequest();
mLocationRequest.setSmallestDisplacement(3.81f);
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
return mLocationRequest;
}
像这样实现的:连接后,扮演服务
@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());
但是我越来越从这个ATLEAST650米远离我的当前位置经纬度,即使我没动丝毫,这是我的权限清单:
<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我们可以知道当前位置 – blackHawk