解决方案 »

  1.   

    首先!目前的地图定位误差也不算太准,好在是在公司,不管是wifi,gps定位还算准确,一般误差在100米之内,姑且最好达到50米。
    1:
    数据库中存储公司人员半年办公地点所处中心位置经纬度。且以改点为圆心,存储改点到所允许最大办公距离之间的距离,也就是半径了。每次用户签到或则签退,假如A,B两点,A点经度,纬度分别为λA和ΦA,B点的经度、纬度分别为λB和ΦB,d为距离。
    利用如下方法:
    d=111.12cos{1/[sinΦAsinΦB十 cosΦAcosΦBcos(λB-λA)]}
    计算之间距离与数据库中对应用户所允许的距离(半径)比较。在半径发范围内,则允许签到签退。2:和1类似。问题转化为,已知一个点坐标,求以该点位圆心,半径为r,圆上的所有点的坐标。
        2.1:
             选取工作人员经常办公地点中心存入数据库,计算改点距离最大允许范围的所有经纬度,存入数据库(不建议,也不科学,数据量大了吃不消。)。
       2.2:
          。求得是矩形的四个点存入数据库。用户在签到签退的时候比较数据库中的值。
          希望这篇文章帮得到你http://digdeeply.org/archives/06152067.html建议2.2方法。误差肯定是有的。给点分吧
      

  2.   

    范围小就定个中心点,判断半径呗.
    不过有时候不准,不好解决啊想问的是除了经纬度能搞到网络状态么?
    或者提交时候的ip是公司外网/内网ip就可以签到之类