我正在使用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中(以便稍后可以总结)。非常感谢。
答案 0 :(得分:0)
你必须自己创建一个算法,每5秒获取一次这些坐标,对它们做一些代数来确定两者之间的距离,并将其添加到某个地方的总距离,然后重复接下来的5秒。 / p>
对于计算距离的实际算法,请查看this answer。