思路大概就是下面这样的,以某个坐标为中心点,根据提供的半径获取中心点的四个临界值即minLat、maxLat、minLng、maxLng,根据这四个临界值,就能得到一个正方形,排除正方形之外的点位,计算剩下点位与中心点位的距离,如果大于指定的半径排除掉,反之保留。(直接计算圆内的点位,米有思路,谁要是有好办法的话,提醒下)。
1、逻辑
/** * * @param coordinate 中心点 * @param dis 半径 单位km * @return */ @Override public AjaxResult getAllAffairByDis(String coordinate,double dis){ String[] arr = coordinate.split(","); //拿到四个临界点 double[] coor = MapUtil.centerDis(Double.valueOf(arr[0]),Double.valueOf(arr[1]),dis); System.out.println("边界点的距离"+JSON.toJSONString(coor)); List<TAffair> tAffairs = affairMapper.byCoor(coor[0],coor[1],