Gps 测量我和lua跑了多远

Gps 测量我和lua跑了多远,gps,lua,location,Gps,Lua,Location,如何测量我使用lua程序跑了多远?最好是从全球定位系统的位置。我有经度和纬度。我会使用闭包和毕达哥拉斯定理来实现这一点: function odometer(curx, cury) local x = curx or 0 local y = cury or 0 local total = 0 return function(newx, newy) local difx = math.abs(newx - x) local dify

如何测量我使用lua程序跑了多远?最好是从全球定位系统的位置。我有经度和纬度。

我会使用闭包和毕达哥拉斯定理来实现这一点:

function odometer(curx, cury)
    local x = curx or 0
    local y = cury or 0
    local total = 0
    return function(newx, newy)
        local difx = math.abs(newx - x)
        local dify = math.abs(newy - y)
        total = total + math.sqrt(difx * difx + dify * dify)
        x, y = newx, newy
        return total
    end
end
在启动应用程序SD时,您可以调用
里程表
并输入当前经度和纬度(或者默认为0):

之后,您将应用程序设置为每隔1000毫秒(比如1000毫秒)调用一次
myodometer,同时输入新的经度和纬度:

myodometer(newlongitude, newlatitude)

在什么情况下?在智能手机上?我很想帮你,但补充一些细节,你的问题太模糊了。是的,这是智能手机上的一个应用程序,我使用conora SDKI。如果我理解正确,它就像计步器,但它不是测量步数,而是测量距离?我的第一直觉是使用毕达哥拉斯定理。如果你需要总距离跑,而不仅仅是从A点到B点的距离,那么每X毫秒执行一次!这是一款追踪你开车速度的应用程序,如果你开车太快,它会给你一条信息。。。。但它也应该测量你开车的距离,这就是我遇到的问题。非常感谢!但是我怎样才能把这个代码放到屏幕上的一个文本元素中呢?经度差和纬度差不等于毕达哥拉斯定理所要求的difx和dify。必须使用更复杂的方法。
myodometer(newlongitude, newlatitude)