如何获取一个定位点周围50米范围

aspxcss 2015-11-12 09:11:17
标题表述不清楚。应用场景为一个简单的签到系统:先设定一个定位点(包括百度地图的经纬度),再设置一个半径范围。当有人签到的时候获取签到者的经纬度,然后判断他是否在预先设定的定位点半径范围之内。如果在范围之内就允许签到,反之则不允许。请大家指点。
...全文
567 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ajianchina 2015-11-12
  • 打赏
  • 举报
回复
你这签到方法设计好了也不实用,模拟定位的软件太多了,在家就能签到,出国也能签到。 50米的半径范围,你可以考虑使用内网wifi定位考勤。
本拉灯 2015-11-12
  • 打赏
  • 举报
回复
这不就是利用定位点+签到点 生成一个距离么,就是判断两点间的距离<你的半径不就完事了么。
BitCoffee 2015-11-12
  • 打赏
  • 举报
回复
根据经纬度算距离

private const double EARTH_RADIUS = 6378.137;//地球半径
private static double rad(double d)
{
   return d * Math.PI / 180.0;
}

public static double GetDistance(double lat1, double lng1, double lat2, double lng2)
{
   double radLat1 = rad(lat1);
   double radLat2 = rad(lat2);
   double a = radLat1 - radLat2;
   double b = rad(lng1) - rad(lng2);

   double s = 2 * Math.Asin(Math.Sqrt(Math.Pow(Math.Sin(a/2),2) +
    Math.Cos(radLat1)*Math.Cos(radLat2)*Math.Pow(Math.Sin(b/2),2)));
   s = s * EARTH_RADIUS;
   s = Math.Round(s * 10000) / 10000;
   return s;
}
huaneramn 2015-11-12
  • 打赏
  • 举报
回复
太高深了,交给楼下的。。。。。。。。。。。。。

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧