【发布时间】:2014-06-09 03:08:47
【问题描述】:
我有一个 PhoneGap 应用程序并将所有内容转移到本地数据库,我现在需要从数据库中的点计算用户位置。
有没有人指出如何做到这一点,我使用的是谷歌 API,但现在专注于离线工作,所以必须查询数据库。
谢谢。
【问题讨论】:
我有一个 PhoneGap 应用程序并将所有内容转移到本地数据库,我现在需要从数据库中的点计算用户位置。
有没有人指出如何做到这一点,我使用的是谷歌 API,但现在专注于离线工作,所以必须查询数据库。
谢谢。
【问题讨论】:
你要计算经纬度的距离(离线),对吧??
var lat1 = //start latitude
var lon1 = //start longitude
var lat2 = //end latitude
var lon2 = //end longitude
var R = 6371; // now in km (change for get miles)
var dLat = (lat2-lat1) * Math.PI / 180;
var dLon = (lon2-lon1) * Math.PI / 180;
var a = Math.sin(dLat/2) * Math.sin(dLat/2) + Math.cos(lat1 * Math.PI / 180 ) * Math.cos(lat2 * Math.PI / 180 ) * Math.sin(dLon/2) * Math.sin(dLon/2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
var d = R * c;
if (d>1)
return Math.round(d);//+"km";
else if (d<=1)
return Math.round(d*1000)+"m";
return d;
【讨论】: