使用Phonegap存储行进距离

时间:2013-07-03 18:05:13

标签: android iphone mysql gps cordova

我正在使用phonegap编写一个应用程序,每隔5秒将更新lat / lon存储到mysql数据库。我希望能够让我的用户看到自启动应用程序以来的总行程距离。

我已经看了一下Phonegap地理位置API,看不到根据纬度/经度更新计算行驶总距离的方法。有没有办法实现这个目标?

编辑:@Drew感谢您的链接。我看了一遍,并且JS版的Haversine看起来很直接。困难的部分将是phonegap拉动和存储lat / lon的方式。目前我获取和发送位置到MySQL的功能是

function geo_success(position) {
    $("#status p").text("Tracking active");
    $('#status').removeClass("stopped").addClass("active");
    $('button').text("Stop tracking");

    latlon.lat = position.coords.latitude;
    latlon.lon = position.coords.longitude;
    latlon.alt = position.coords.altitude;
    if(!position.coords.speed) { latlon.speed = 0; }
    else{ latlon.speed = position.coords.speed }

    if(first) {
        intervalId = setInterval(send, 5000);
    }
    first = false;
}

有没有办法可以考虑存储lat1 lon1的最新值,并使用前面的lat2 lon2并通过这两组变量循环最新的传入坐标?这样我就可以从hasrsine获取返回的变量d并将其存储在db中(以便稍后可以总结)。非常感谢。

1 个答案:

答案 0 :(得分:0)

你必须自己创建一个算法,每5秒获取一次这些坐标,对它们做一些代数来确定两者之间的距离,并将其添加到某个地方的总距离,然后重复接下来的5秒。 / p>

对于计算距离的实际算法,请查看this answer