javascript - 面向学生的基于位置的网络网站

标签 javascript html web geolocation

我想制作一个基于位置的学术网站(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/

相关文章:

web - 如何对基于Webrtc的Web应用进行负载测试

php - 什么会导致网站不总是加载

javascript - jquery ui 按钮没有样式

Javascript iFrame 下拉悬停

javascript - 如何使 contenteditable div 产生智能引号而不是哑引号?

html - IE7 尴尬的列表间距

javascript - 防止 SVG CSS 流血

jquery - 使用 jquery 更改背景颜色不起作用

html - 如何使网站启动音频移动友好?

javascript - 在 React-Native 中手动设置不透明度的音量 onPress of TouchableOpacity