菜鸟教程小白 发表于 2022-12-12 23:58:49

ios - 使用 distanceFromLocation : 的距离错误


                                            <p><p>我正在尝试找出问题所在,但似乎上述方法只是返回了错误的值。我在模拟器中设置坐标,然后打印它们并计算距离:</p>

<pre><code>(lldb) p location.coordinate
(CLLocationCoordinate2D) $1 = (latitude = 51, longitude = 0.10000000000000001)
(lldb) p _oldLocation.coordinate
(CLLocationCoordinate2D) $2 = (latitude = 51, longitude = 0)
</code></pre>

<p>现在我正在计算距离:</p>

<pre><code>distance = (CGFloat);
</code></pre>

<p>当我打印它时,我得到:</p>

<pre><code>(lldb) po self.trackDistance
7019.76758
</code></pre>

<p>现在,问题是用户告诉我应用返回的距离太远。因为我想调试它,所以我检查了 <a href="http://www.movable-type.co.uk/scripts/latlong.html" rel="noreferrer noopener nofollow">page to calculate distance between two points</a> 的距离.</p>

<p>结果如下:</p>

<p> <img src="/image/KIyjN.png" alt="enter image description here"/> </p>

<p>如您所见,网页上的距离是 6.997 公里,而 Apple 方法告诉我的距离是 7.019 公里。我想知道谁是不正确的,Apple 或网页以及如何处理这件事。差异不大,但是当您在几个点之间累积时,可能会令人不安。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>distanceFromLocation 的 Apple 文档页面这样说:</p>

<blockquote>
<p>This method measures the distance between the two locations by tracing a line between them that follows the curvature of the Earth. The resulting arc is a smooth curve and does not take into account specific altitude changes between the two locations.</p>
</blockquote>

<p>我怀疑 Googlemap 确实考虑了两点之间的地形,这就是为什么您在测试中看到 0.3% 的差异。但是,我怀疑您的客户是否在提示这种级别的错误。错误更有可能来自不同的原因。 </p>

<p>如果不了解您的算法的更多信息,很难说,但如果您正在跟踪行驶距离,则错误可能是由手机 GPS 坐标中的抖动引起的。 (这会导致直线路径看起来像锯齿形,从而产生更长的距离。)您可以从您的应用中记录一些真实数据以确保查看。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 使用 distanceFromLocation : 的距离错误,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/24905536/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/24905536/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 使用 distanceFromLocation : 的距离错误