如何找到运行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()
方法,但不知道如何使用。在执行上述代码段之前,我首先需要确定该位置是否在仅设备模式下。
能请您演示一种找到位置准确性的方法吗?
我想知道位置是在“高精度”上还是在“省电模式”上或在“仅设备”模式下
答案 0 :(得分:0)
如果您正在使用locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
,并且在AndroidManifest
上设置了适当的权限,并且用户选择为应用提供这些权限,并且设备具有GPS和网络连接,则靠着上帝的恩典,您可以获得最佳的定位精度。关于您的位置数据有多准确,您可以参考下表。
进一步阅读:HERE
答案 1 :(得分:0)
位置在以米为单位的测量点的半径内。如果Location.getAccuracy返回10,则设备的真实位置有68%的机会在所报告坐标的10米以内。
使用此代码可获取米的精度。
location.getAccuracy()
//此代码以米为单位获取精度。
这里是android的官方文档。 [https://developer.android.com/reference/android/location/Location.html#getAccuracy()]
如果该位置没有水平精度,则返回0.0。