【问题标题】:Using Phonegap to store traveled distance使用 Phonegap 存储行驶距离
【发布时间】:2013-07-01 13:38:58
【问题描述】:

我正在编写一个使用 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 并将其存储在数据库中(以便稍后总结)。非常感谢。

【问题讨论】:

    标签: android iphone mysql gps cordova


    【解决方案1】:

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

    具体计算距离的算法请看this answer。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-31
      • 2017-08-03
      相关资源
      最近更新 更多