问题描述
标题表述不清楚。应用场景为一个简单的签到系统:先设定一个定位点(包括百度地图的经纬度),再设置一个半径范围。当有人签到的时候获取签到者的经纬度,然后判断他是否在预先设定的定位点半径范围之内。如果在范围之内就允许签到,反之则不允许。请大家指点。
解决方案
解决方案二:
太高深了,交给楼下的。。。。。。。。。。。。。
解决方案三:
根据经纬度算距离privateconstdoubleEARTH_RADIUS=6378.137;//地球半径privatestaticdoublerad(doubled){returnd*Math.PI/180.0;}publicstaticdoubleGetDistance(doublelat1,doublelng1,doublelat2,doublelng2){doubleradLat1=rad(lat1);doubleradLat2=rad(lat2);doublea=radLat1-radLat2;doubleb=rad(lng1)-rad(lng2);doubles=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;returns;}
解决方案四:
这不就是利用定位点+签到点生成一个距离么,就是判断两点间的距离<你的半径不就完事了么。
解决方案五:
你这签到方法设计好了也不实用,模拟定位的软件太多了,在家就能签到,出国也能签到。50米的半径范围,你可以考虑使用内网wifi定位考勤。
时间: 2024-09-13 12:32:45