8

我需要一种对 GPS 信号强度进行分类的方法。到目前为止,我遇到了(类引用)的horizontalAccuracy属性。CLLocation

更具体地说,我需要创建如下内容;我遇到的问题是填写if报表。

if (someLocation.horizontalAccuracy ...)
{
    // No Signal
}
else if (someLocation.horizontalAccuracy ...)
{
    // Poor Signal
}
else if (someLocation.horizontalAccuracy ...)
{
    // Average Signal
}
else if (someLocation.horizontalAccuracy ...)
{
    // Good Signal
}
else
{
    // Excellent Signal
}

请问有人可以帮助我吗?

4

1 回答 1

10

我过去使用过这样的数字:

if (someLocation.horizontalAccuracy < 0)
{
    // No Signal
}
else if (someLocation.horizontalAccuracy > 163)
{
    // Poor Signal
}
else if (someLocation.horizontalAccuracy > 48)
{
    // Average Signal
}
else
{
    // Full Signal
}

但老实说,它对用户来说并不是很好。它会显示为低准确度,但是当他们查看地图应用程序时,它几乎可以完美地定位它们(​​尽管它们周围有一个圆圈)。

与其尝试定义准确度级别,而且如果您的应用程序是基于地图的,您是否可以像 Maps 一样将水平准确度显示为圆形叠加层?然后用户可以自己决定它是否足够准确。

于 2012-04-20T13:06:18.697 回答