Javascript 基于位置的学生网络网站

Javascript 基于位置的学生网络网站,javascript,html,web,geolocation,Javascript,Html,Web,Geolocation,我想建立一个基于位置的学术网站(bootstrap项目),在这个网站上,上述问题只对那些在预先指定半径内的人可见。我可以用HTML、CSS编写代码,目前正在学习JavaScript和PHP。有人愿意给我一些建议吗?(代码资源、相关模板或有用文献)您可以使用公式找到位置之间的距离。以下javascript函数用于计算地理位置坐标和中心位置坐标之间的距离。仅当距离小于半径时,才允许访问 function deg2rad(degrees){ radians = degrees * (Math.PI/1

我想建立一个基于位置的学术网站(bootstrap项目),在这个网站上,上述问题只对那些在预先指定半径内的人可见。我可以用HTML、CSS编写代码,目前正在学习JavaScript和PHP。有人愿意给我一些建议吗?(代码资源、相关模板或有用文献)

您可以使用公式找到位置之间的距离。以下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);
}

这似乎是一个大项目。如果您想正确地执行此操作,我建议您研究php框架(例如symfony2)。在本例中,您可以获得用户的ip地址:通过ip,您可以找到他们的位置。一旦你找到了他们的位置,你就可以发回相应的视图(如果你是通过xmlhttprequest(ajax)这样做的话,也可以发送一个json),其中包含问题的信息。我有一个月的时间(每天16小时)来做这件事,希望这足够了。对于前端,我想找一个简单的,免费源代码模板,以减少总体工作量,因为功能优先。非常感谢,格里姆博德。谢谢大卫提供的详细代码。非常感谢。