我正在使用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/