我需要对位置跟踪做一些澄清,我使用下面的代码片段来获取当前用户位置,在我的代码中我用一分钟的延迟调用位置监听器。 每次我获得不同的位置值,我都不会移动/打扰设备,设备会保留在桌面上,我无法理解为什么会发生这种情况,我的代码中是否有任何问题或我需要做一些事情,请指导我,提前谢谢,
locationManager = (LocationManager) HomeActivity.this
.getSystemService(Context.LOCATION_SERVICE);
locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
currentLatitude = Double.toString(location.getLatitude());
currentLongitude = Double.toString(location.getLongitude());
}
public void onStatusChanged(String provider, int status,
Bundle extras) {
}
public void onProviderEnabled(String provider) {
}
public void onProviderDisabled(String provider) {
}
};
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
60000, 0, locationListener);
}
答案 0 :(得分:0)
这对GPS来说是正常的:
表示为double或float变量的cooridnates将具有几厘米或毫米的分辨率
但有效准确度要低得多:
对于天空很好看,(外面)经常发生10米,最多可能发生30米。
在办公室内,您的位置会移动到50-60米,如果您松开GPS并且手机切换到手机信号塔位置,则可能会发生长达1000米的移动。
这取决于GPS应用,但每个GPS应用程序都必须过滤GPS位置 满足其需求。
(设备移动时GPS更准确)