首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CLLocationDistance,两个纬度和经度之间的英里和英尺,给出了误差值iOS?

CLLocationDistance,两个纬度和经度之间的英里和英尺,给出了误差值iOS?
EN

Stack Overflow用户
提问于 2013-10-29 22:54:37
回答 1查看 1.4K关注 0票数 1

我使用CLLocationDistance来计算两个lat和lng之间的距离,我给了第一个lat和lng一些静态值&第二个lat和lng是我的当前位置,即使我到达了准确的位置,lat和lng之间的差异也是20英尺或15英尺。

我使用公式将CLLocationDistance输出转换为英尺

代码语言:javascript
复制
CLLocationDistance distance = [locA distanceFromLocation:locB];

float feet= distance  *3.28084;

如何获得两个纬度和lng之间的精确距离?

EN

回答 1

Stack Overflow用户

发布于 2013-10-29 23:25:12

你的算法看起来是正确的。

如果您想知道为什么在纬度和经度看起来相同的两个位置之间没有接收到“零”距离,那么在为静态定义的位置设置纬度和经度时,您可能没有考虑足够多的有效数字。话虽如此,六位小数通常足以到达一英尺的范围内。(参见维基百科:维基项目地理coordinates._中的Precision Guidelines )

虽然,在实践中,它可能永远不会是零(当然也不会比你所在位置的horizontalAccuracy更可靠),但如果你在静态定义的位置指定了足够多的有效数字,你应该比15-20英尺更近。

还要注意,如果你正在使用CLLocationManager方法startUpdatingLocation,你得到的初始位置总是不是最好的值,因为如果你指定desiredAccuracy of kCLLocationAccuracyBest,它通常会调用你的didUpdateLocations几次(通常是随着精度的增加,即horizontalAccuracy的减少)。所以,继续监测didUpdateLocations报告的位置,直到你得到的horizontalAccuracy在你认为可以接受的范围内(但不要期望获得完美的准确性,因为这永远不会发生,而且它也受到设备物理环境的影响)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19661666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档