android - 使用 Phonegap 存储行驶距离

标签 android iphone mysql gps cordova

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

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

编辑:@Drew 感谢您的链接。我已经检查过了,JS 版本的 Haversine 看起来很直接。困难的部分是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 的前一个值,并通过这 2 组变量循环最新的传入坐标?这样我就可以从半正弦中获取返回的变量 d 并将其存储在数据库中(以便稍后能够对其求和)。非常感谢。

最佳答案

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

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

关于android - 使用 Phonegap 存储行驶距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17455202/

相关文章:

java - 如何在cardView上添加插页式广告?

android - 如何知道我的应用程序是否禁用了显示通知?

php - 为什么这个 UPDATE 查询会耗尽我的 CPU?

PHP MySQL Search between with an "or"condition

android - 检查 ssharedpreference 中是否存在列表项

iphone - 将声音与 CCAnimation 同步

iPhone 内存管理 : a release after setting self. someProperty = nil

iphone - Apple 推送通知服务是否特定于国家/地区?

mysql - 在MySQL中获取具有2个不同值的所有数据

android - 在 onClick 期间控制软键盘 - Android