Java Android实时位置更新问题
所以我在Android Studio中为我的应用程序制作了一个谷歌地图活动,我需要获得实时位置更新。目标是使地图上的标记只在足够接近它们时才可单击。 这是我目前掌握的代码:Java Android实时位置更新问题,java,android,android-studio,android-fragments,Java,Android,Android Studio,Android Fragments,所以我在Android Studio中为我的应用程序制作了一个谷歌地图活动,我需要获得实时位置更新。目标是使地图上的标记只在足够接近它们时才可单击。 这是我目前掌握的代码: LocationRequest locationRequest = LocationRequest.create(); locationRequest.setInterval(5000); locationRequest.setFastestInterval(2500);
LocationRequest locationRequest = LocationRequest.create();
locationRequest.setInterval(5000);
locationRequest.setFastestInterval(2500);
locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
locationCallback = new LocationCallback() {
@Override
public void onLocationResult(LocationResult locationResult) {
super.onLocationResult(locationResult);
if (locationResult == null) {
return;
}
mLastKnownLocation = locationResult.getLastLocation();
LatLng lastKnownLatLng = new LatLng(mLastKnownLocation.getLatitude(), mLastKnownLocation.getLongitude());
//THIS IS AN EXAMPLE OF THE DISTANCE VALUES
distanceHala = SphericalUtil.computeDistanceBetween(lastKnownLatLng, HalA);
mFusedLocationProviderClient.removeLocationUpdates(locationCallback);
}
};
mFusedLocationProviderClient.requestLocationUpdates(locationRequest, locationCallback, null);
稍后,我有一些if语句使它们可以点击。现在的问题是,该位置仅在我刚刚打开Map活动时更新,而不是在活动运行时更新。因此,当我打开“活动”并走得足够近时超出范围时,即使我离得足够近,按钮仍然无法单击。当调用第一个回调时,回调中的最后一个语句是删除位置更新-因此它的行为似乎与编程一样。为什么
removeLocationUpdates
?当我删除该行时,我仍然有相同的问题,只是使用模拟器或真实设备进行测试?我使用真实设备进行测试