0

現在のユーザーの場所を取得するために次のコード スニペットを使用しました。私のコードでは、場所のリスナーを 1 分遅れで呼び出します。異なる場所の値を取得するたびに、デバイスを動かしたり妨害したりしません。デバイスはテーブルに置かれたままです。なぜそれが起こっているのか理解できません。コードに問題があるのでしょうか、それとも何かする必要がありますかこれについて私を案内してください, 前もって感謝します,

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

1 に答える 1

0

これは GPS では正常です
。double または float 変数として表される座標は、数センチメートルまたは数ミリメートルの解像度を持ちます。
しかし、有効な精度ははるかに低くなります。空がよく見える場合、(外側) 10m が頻繁に発生し、最大 30m が発生する可能性があります。

オフィス内では、位置が最大 50 ~ 60 m まで激しく移動します。GPS が失われ、電話がセル タワーの位置に切り替わると、最大 1000 m の移動が発生する可能性があります。

これは GPS アプリケーションによって異なりますが、各 GPS アプリケーションは必要に応じて GPS 位置をフィルタリングする必要があります。

(デバイスが移動すると、GPS はより正確になります)

于 2013-03-27T20:28:50.563 に答える