0

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

我查看了 Phonegap 地理定位 API,但看不到根据纬度/经度更新计算总行驶距离的方法。有没有办法做到这一点?

编辑:@ Drew 感谢您的链接。我已经看过了,Haversine 的 JS 版本看起来很简单。困难的部分将是 phonegap 拉动和存储纬度/经度的方式。目前我获取位置并将位置发送到 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 并将其存储在数据库中(以便稍后总结)。非常感谢。

4

1 回答 1

0

您必须自己创建一个算法,每 5 秒获取一次这些坐标,对它们进行一些代数以确定两者之间的距离,并将其添加到某处的总距离中,然后在接下来的 5 秒内重复。

对于计算距离的实际算法,请查看此答案

于 2013-07-03T18:34:47.327 回答