我想制作一个基于位置的学术网站(bootstrap 项目),其中所说的问题只会对预先指定半径内的人可见。我可以用 HTML、CSS 编写代码,目前正在学习 JavaScript 和 PHP。有人愿意给我一些指示吗? (代码资源、相关模板或有用文献)
最佳答案
您可以使用 Haversine 找到位置之间的距离公式。以下 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);
}
关于javascript - 面向学生的基于位置的网络网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29723183/