ios - 如何获得行驶路线的距离?
<p><p>我正在使用 Rubymotion 开发一个 iOS 应用程序。在这个应用程序中,我试图计算行进的距离。我正在使用下面的代码,在模拟器(高速公路驾驶)中它返回了很好的数字,但是当我在我的车上真正尝试它时,它有时会在中途停止计数。</p>
<pre><code>BW::Location.get(distance_filter: 2, desired_accuracy: :best_for_navigation) do |result|
if in_motion(result[:to].speed)
if result[:to].distanceFromLocation(result[:from]) < 40
@distance += result[:to].distanceFromLocation(result[:from])
end
end
end
</code></pre>
<p>我也试过这段代码,感觉出错的地方少了?
由于我使用 2 的 distance_filter,所以我认为每次获得新坐标时我都可以增加 2?这样可以吗?</p>
<pre><code>BW::Location.get(distance_filter: 2, desired_accuracy: :best_for_navigation) do |result|
if in_motion(result[:to].speed)
if result[:to].distanceFromLocation(result[:from]) < 40
@distance += 2
end
end
</code></pre>
<p>这两种方法输出到不同的数字。</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>实际上有一个新的 gem 可以让这变得更容易:</p>
<p> <a href="https://github.com/willrax/motion-distance" rel="noreferrer noopener nofollow">https://github.com/willrax/motion-distance</a> </p>
<p>你是这样设置的:</p>
<pre><code>@distance = Motion::Distance.new
@distance.activity_type = CLActivityTypeAutomotiveNavigation #for driving
</code></pre>
<p>然后你调用'get'来获取行进的距离(以米为单位)</p>
<pre><code>@distance.get do |location|
puts location[:total]
end
</code></pre></p>
<p style="font-size: 20px;">关于ios - 如何获得行驶路线的距离?,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/20242601/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/20242601/
</a>
</p>
页:
[1]