2个位置之间的iOS GPS距离计算

Posted

技术标签:

【中文标题】2个位置之间的iOS GPS距离计算【英文标题】:iOS GPS Distance Calculations between 2 locations 【发布时间】:2015-04-15 08:54:43 【问题描述】:

我创建了一个显示 2 个 ios 设备之间距离的应用。我有 使用 GPSKit 的坐标并使用 ZFHaversine 计算距离。它们都是来自 cocoapods.org 的库。

现在我的问题是即使设备并排放置,注册的距离也是 +/- 70 米。我正在尝试找到一种方法来使计算出的距离至少达到 +/- 5 米。

提前致谢。

【问题讨论】:

【参考方案1】:

您可能希望在这种情况下使用 CoreBluetooth。 AFAIK CoreBluetooth 可以测量信号强度,以便您能够更精确地计算距离。

【讨论】:

感谢您的建议,但核心蓝牙但我认为核心蓝牙仅限于 rssi 信号强度。所以只能给我远、中、近【参考方案2】:

导入核心位置框架。以 CLLocation 的形式获取坐标

CLLocation *locA = [[CLLocation alloc] initWithLatitude:latitude1 longitude:longitude1];
CLLocation *locB = [[CLLocation alloc] initWithLatitude:latitude2 longitude:longitude2];

现在获取距离

CGFloat distance = [locA distanceFromLocation:locB];

【讨论】:

感谢您的意见。我在hassine之前使用过这个。 Haversine 给了我更好的数字。【参考方案3】:

只是为了更新,现在我在 ZFHaversine pod 上使用了 Equirectangular Approximation 公式。这在较短的距离上更准确。

谢谢

【讨论】:

以上是关于2个位置之间的iOS GPS距离计算的主要内容,如果未能解决你的问题,请参考以下文章

计算几个位置之间的全局距离

使用距位置的距离有效地计算最近的 5 个位置

如何在谷歌地图 api 中计算从 1 个位置到许多其他位置的距离? [复制]

2 个位置之间未显示多段线,但显示了时间和距离

查找超过 100K 个位置之间的距离

计算连续 GPS 点之间的距离,并根据该距离降低 GPS 密度