4

根据我对在 Android 上访问 Location 的理解:

  1. 位置提供者需要权限 ACCESS_COARSE_LOCATION,精度较低,但检索位置更快。
  2. GPS 提供者需要权限 ACCESS_FINE_LOCATION,具有更高的精度,并且在检索位置时速度较慢。

所以更好地理解这一点,我运行了以下代码

//Go through a list of all location providers to get the "best" one
List<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 位置提供者通常提供较低的准确度和较高的时间。

不知道为什么会这样。

4

1 回答 1

3

精度测量是以米为单位的位置精度,因此较低的值表示更精确的位置。因此,精确到 60.0 米以内的位置在任何方向上最多可以偏移 60m,而精确到 5.0 米以内的位置最多只能偏移 5m。

于 2011-07-01T15:42:37.723 回答