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