避免在gps android中设备仍然稳定时获取多个位置
我使用简单的Listner类在onchage location中获取位置 但该设备是稳定的,然后gps在1000米范围内错误定位 MyLocationListener.java避免在gps android中设备仍然稳定时获取多个位置,android,Android,我使用简单的Listner类在onchage location中获取位置 但该设备是稳定的,然后gps在1000米范围内错误定位 MyLocationListener.java 请帮助我,我将在最近两个月内使用新的android,我将在GPS上工作。以这种方式过滤位置 public static final int MINIMUM_ACCURACY = 50; public static boolean isValidAndAccurateLocation(Location location)
请帮助我,我将在最近两个月内使用新的android,我将在GPS上工作。以这种方式过滤位置
public static final int MINIMUM_ACCURACY = 50;
public static boolean isValidAndAccurateLocation(Location location) {
boolean validLocation = location != null
&& Math.abs(location.getLatitude()) <= 90
&& Math.abs(location.getLongitude()) <= 180;
if (validLocation && location.hasAccuracy()
&& location.getAccuracy() <= MINIMUM_ACCURACY) {
return true;
} else {
return false;
}
}
请求位置更新时提供最小距离,无需手动计算距离。使用
其中,时间是以毫秒为单位的时间,距离是以米为单位的最小距离。有关完整解释,请参阅 不注册网络提供商,仅用户GPS提供商我只从GPS获取位置,但它在同一地点获取多个位置。是的,这可能是一种情况,这就是为什么位置也具有准确性。从GPS获取lat long的另一个问题。我使用服务更新花边,时间35000,距离10米,但经过一个小时后,gps服务自动停止,之后无法获得位置。请给出解决方案。如果您在中注册的位置侦听器的活动终止,或者您有未注册的位置侦听器,则会发生这种情况。
public static final int MINIMUM_ACCURACY = 50;
public static boolean isValidAndAccurateLocation(Location location) {
boolean validLocation = location != null
&& Math.abs(location.getLatitude()) <= 90
&& Math.abs(location.getLongitude()) <= 180;
if (validLocation && location.hasAccuracy()
&& location.getAccuracy() <= MINIMUM_ACCURACY) {
return true;
} else {
return false;
}
}
mLocationManger.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, time, distance,
this);