如何找到位置准确性?

时间:2019-09-30 09:35:25

标签: android gps location google-api-client

如何找到运行android 8及更低版本的android设备的位置准确性。

GoogleApiClient googleApiClient = new GoogleApiClient.Builder(context)
                .addApi(LocationServices.API).build();
        googleApiClient.connect();

        LocationRequest locationRequest = LocationRequest.create();
        locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
        locationRequest.setInterval(10000);
        locationRequest.setFastestInterval(10000 / 2);

我知道有一个locationRequest.getPriority()方法,但不知道如何使用。在执行上述代码段之前,我首先需要确定该位置是否在仅设备模式下。 能请您演示一种找到位置准确性的方法吗?

我想知道位置是在“高精度”上还是在“省电模式”上或在“仅设备”模式下

2 个答案:

答案 0 :(得分:0)

如果您正在使用locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);,并且在AndroidManifest上设置了适当的权限,并且用户选择为应用提供这些权限,并且设备具有GPS和网络连接,则靠着上帝的恩典,您可以获得最佳的定位精度。关于您的位置数据有多准确,您可以参考下表。

Android Location Sensors

进一步阅读:HERE

答案 1 :(得分:0)

位置在以米为单位的测量点的半径内。如果Location.getAccuracy返回10,则设备的真实位置有68%的机会在所报告坐标的10米以内。

使用此代码可获取米的精度。

location.getAccuracy() //此代码以米为单位获取精度。

这里是android的官方文档。 [https://developer.android.com/reference/android/location/Location.html#getAccuracy()]

如果该位置没有水平精度,则返回0.0。