根据我对在Android上访问位置的理解:
>位置提供程序需要权限ACCESS_COARSE_LOCATION,准确性较低,但检索位置的速度更快.
> GPS提供商需要权限ACCESS_FINE_LOCATION,具有更高的准确性,并且检索位置的速度较慢.
所以更好地理解这一点,我运行了以下代码
//Go through a List of all location provIDers to get the "best" oneList<String> locationProvIDers = locationManager.getAllProvIDers();for (String locationProvIDerInit : locationProvIDers) { Log.d(DEBUG_TAG, "found locationProvIDer:" + locationProvIDerInit); Location lastKNownLocation = locationManager.getLastKNownLocation(locationProvIDerInit); if (lastKNownLocation != null) { Log.d(DEBUG_TAG, "accuracy: " + lastKNownLocation.getAccuracy()); Log.d(DEBUG_TAG, "time: " + lastKNownLocation.getTime()); }}
虽然网络位置提供商始终给出60.0的准确度,但GPS位置提供商通常会提供较低的准确度.时间更长.
不知道为什么会这样.
解决方法:
精度测量是以米为单位的精度,因此较低的值表示更精确的位置.因此,精确到60.0米范围内的位置可以在任何方向上偏离60米,而精确到5.0米以内的位置最多只能偏离5米.
总结以上是内存溢出为你收集整理的android – FINE_LOCATION的准确性低于COARSE_LOCATION全部内容,希望文章能够帮你解决android – FINE_LOCATION的准确性低于COARSE_LOCATION所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)