在使用GPS获取地理位置时的Android问题

时间:2013-03-27 18:13:34

标签: android geolocation gps

我需要对位置跟踪做一些澄清,我使用下面的代码片段来获取当前用户位置,在我的代码中我用一分钟的延迟调用位置监听器。 每次我获得不同的位置值,我都不会移动/打扰设备,设备会保留在桌面上,我无法理解为什么会发生这种情况,我的代码中是否有任何问题或我需要做一些事情,请指导我,提前谢谢,

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);
}

1 个答案:

答案 0 :(得分:0)

这对GPS来说是正常的:
表示为double或float变量的cooridnates将具有几厘米或毫米的分辨率 但有效准确度要低得多: 对于天空很好看,(外面)经常发生10米,最多可能发生30米。

在办公室内,您的位置会移动到50-60米,如果您松开GPS并且手机切换到手机信号塔位置,则可能会发生长达1000米的移动。

这取决于GPS应用,但每个GPS应用程序都必须过滤GPS位置 满足其需求。

(设备移动时GPS更准确)