ユーザーの位置を取得する単純な Android アプリケーションを作成しています。
FusedLocationAPI を使用して位置を提供しています。
mLocationRequest = LocationRequest.create()
.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY)
.setInterval(5000)
.setFastestInterval(5000);
ユーザーがボタンを押すと、アプリは最初に最後の既知の場所を確認します。これが 1 分未満で精度が 50m 未満の場合、その場所が使用されます。そうでない場合、アプリは位置が 50m 未満の精度で受信されるまで位置の更新を要求します。その後、バッテリーを節約するために、アプリは更新の要求を停止します。
これは 99% の確率で非常にうまく機能します。ただし、テストでは、同じ位置に対して 2 つの読み取り値が取得されたにもかかわらず、報告された座標間の距離が 110m であるという状況が発生しました。その理由を理解しようとしています。
測定値 #1: 36m の精度で 10:46 に撮影。
読書 #2: 26m の精度で 13:27 に撮影。
ユーザーは同じ場所(約 2m 以内)にいます。それらの位置が精度の端にあるため、ポイント間の距離は最大で 52m しかないと思います。なんで110mなのかわからない
明らかな何かが欠けていますか?