-1

如何测量我使用lua程序运行了多远?最好来自gps位置。我有经度和纬度。

4

1 回答 1

0

我会使用闭包和勾股定理来做到这一点:

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

在您的应用程序启动时,您将调用odometer并传入您当前的经度和纬度(或默认为 0):

myodometer = odometer(longitude, latitude)

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

myodometer(newlongitude, newlatitude)

这是 Lua 闭包的链接

于 2013-02-12T21:47:38.520 回答