android - 哪个是更高的准确度标准 : ACCURACY_HIGH or ACCURACY_FINE?

标签 android gps android-location

Criteria 类中,有两个常量,ACCURACY_HIGHACCURACY_FINE,显然是用来要求 LocationManager 以返回更准确的位置更新。这是documentation关于这些常量中的每一个:

public static final int ACCURACY_FINE (Added in API level 1)

  A constant indicating a finer location accuracy requirement
  Constant Value: 1 (0x00000001)

public static final int ACCURACY_HIGH (Added in API level 9)

  a constant indicating a high accuracy requirement - may be used for horizontal, altitude, speed or bearing accuracy. For horizontal and vertical position this corresponds roughly to an accuracy of less than 100 meters.
  Constant Value: 3 (0x00000003) 

有谁知道这两个常量中哪一个提供(即要求)最高级别的准确度?

最佳答案

根据我在源代码中看到的内容,ACCURACY_FINE 与 ACCURACY_COARSE 分组,分别具有常量值 1 和 2。 ACCURACY_LOW、MEDIUM 和 HIGH 与常量值 1、2 和 3 组合在一起。

似乎 setAccuracy 期望并返回 COARSE 或 FINE,而 setVerticalAccuracy、setHorizo​​ntalAccuracy、setSpeedAccuracy 和 setBearingAccuracy 期望 LOW、MEDIUM 或 HIGH。此外,当您调用 setAccuracy 时,它会像这样设置水平精度:

public void setAccuracy(int accuracy) {
    if (accuracy < NO_REQUIREMENT || accuracy > ACCURACY_COARSE) {
        throw new IllegalArgumentException("accuracy=" + accuracy);
    }
    if (accuracy == ACCURACY_FINE) {
        mHorizontalAccuracy = ACCURACY_HIGH;
    } else {
        mHorizontalAccuracy = ACCURACY_LOW;
    }
}

这真的很令人困惑,但我希望我能为您澄清一下。这是 grepcode 中来源的链接,如果本地没有源,可以自己下载看看。

关于android - 哪个是更高的准确度标准 : ACCURACY_HIGH or ACCURACY_FINE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17874454/

相关文章:

android - 运行xcode时出现词法错误

android - 如果不安装第三方应用程序,是否无法在 Android 应用程序中读取 QR 码?

android - 将投影坐标转换​​为 android 中的常规 GPS

android - 融合位置提供程序意外行为

android - 如何找到 map 中两个地理点之间的正确距离?

android - 在Android GeoCoder中指定要搜索的国家?

android - 如何在我的内容观察器中获取插入行的 URI?

android - 断开连接时 Webrtc 对等连接中随机 native 崩溃

android - 等待当前位置 - GPS - Android Dev

iphone - 数学(几何): Rectangle projection?