2
我正在使用Rubymotion開發iOS應用程序。在這個應用程序,我試圖計算行駛的距離。我使用下面的代碼,並在模擬器(高速公路驅動器)中返回好數字,但在我的汽車中試用它時,它有時會在中途停止計數。如何獲得驅動路線的距離?
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
我也嘗試了這個代碼,感覺有更少的東西可以出錯? 由於我使用的distance_filter是2,那麼我認爲每次獲得新的座標時我都可以遞增2。這個可以嗎?
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
這兩種方法輸出到不同的數字。
這兩種方法的不同數字對我來說似乎很清楚。在方法2中,您忽略了實際行進的距離。旅行的距離不應低於閾值,但可能會更大。 – railsdog
好的,所以距離過濾器是一個最小值。任何想法爲什麼它永遠不會在模擬器和高速公路驅動器上失敗,但在設備上失敗? –