我想建立一个基于位置的学术网站(引导程序项目),其中所述问题仅对预先指定半径内的人员可见。我可以用HTML,CSS编写代码,目前正在学习JavaScript和PHP。有人愿意给我一些指示吗? (代码资源,相关模板或有用的文献)
答案 0 :(得分:0)
您可以使用Haversine公式找到位置beteen位置。以下javascript函数用于计算地理定位坐标与中心位置之间的距离。只有当距离小于半径才允许访问。
function deg2rad(degrees){
radians = degrees * (Math.PI/180);
return radians;
}
function Haversine(lat1,lon1,lat2,lon2) {
deltaLat = lat2 - lat1 ;
deltaLon = lon2 - lon1 ;
earthRadius = 3959; // in miles 6371 in meters.
alpha = deltaLat/2;
beta = deltaLon/2;
a = Math.sin(deg2rad(alpha)) * Math.sin(deg2rad(alpha)) + Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) * Math.sin(deg2rad(beta)) * Math.sin(deg2rad(beta)) ;
c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
distance = earthRadius * c;
return distance.toFixed(2);
}