我需要一种分类GPS信号强度的方法。到目前为止,我遇到horizontalAccuracy
(Class Reference)的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
}
有人可以帮助我吗?
答案 0 :(得分:10)
过去我曾使用过这样的数据:
if (someLocation.horizontalAccuracy < 0)
{
// No Signal
}
else if (someLocation.horizontalAccuracy > 163)
{
// Poor Signal
}
else if (someLocation.horizontalAccuracy > 48)
{
// Average Signal
}
else
{
// Full Signal
}
但说实话,它对用户来说并不是很有效。它会显示出低精度,但是当他们查看地图应用程序时,它几乎可以完美地找到它们(虽然它们周围有一个圆圈)。
与其尝试定义准确度水平,如果您的应用是基于地图的,您可以执行地图所做的操作并将水平精度显示为圆形叠加层吗?然后用户可以自己决定它是否足够准确。