私はJavaとAndroidの初心者です。いくつかのチュートリアルに従って、Android 2.3電話でGPSを機能させることができましたが、電話のGPSは40メートル以内でしか正確ではないことに気付きました。これは、緯度/経度の小数点以下第3位の精度に相当します。
デバッグログにこの変更が表示されます(ラップトップに座って入力している間)
LOCATION CHANGED(2137): 43.522701025009155
LOCATION CHANGED(2137): -72.13161981105804
LOCATION CHANGED(2137): 43.522695660591125
LOCATION CHANGED(2137): -72.13161981105804
これは私のコードです
public void onLocationChanged(Location location) {
if (location != null) {
Log.d("LOCATION CHANGED", location.getLatitude() + "");
Log.d("LOCATION CHANGED", location.getLongitude() + "");
Toast.makeText(MainActivity.this,
location.getLatitude() + "" + location.getLongitude(),
Toast.LENGTH_LONG).show();
}
else{
// Log.v(TAG,"LOCATION not found");
}
// Log.d("LOCATION is", location.getLatitude() + "");
}
onLocationChanged()関数をpublic void onLocationChanged(Location location、minimumdistance_changed)のようなものに変更することは可能ですか?
ここで、minimumdistance_changedは、現在のgpsの精度の精度です。また、gps値が小数点以下第3位に変更されたときにのみ、onLocationChangedから読み取り値を取得することを意味する限り、minimumdistance_changed値を100メートルに設定するだけでも満足します。