/**
     * 
     * @param longitude    经度
     * @param latitude    纬度
     * @param distance    范围(米)
     * @return
     */
    public static Map<String, double[]> returnLLSquarePoint(double longitude,  double latitude, double distance) {
        Map<String, double[]> squareMap = new HashMap<String, double[]>();
        // 计算经度弧度,从弧度转换为角度
        double dLongitude = 2 * (Math.asin(Math.sin(distance
                / (2 * 6378137))
                / Math.cos(Math.toRadians(latitude))));
        dLongitude = Math.toDegrees(dLongitude);
        // 计算纬度角度
        double dLatitude = distance / 6378137;
        dLatitude = Math.toDegrees(dLatitude);
        // 正方形
        double[] leftTopPoint = { latitude + dLatitude, longitude - dLongitude };
        double[] rightTopPoint = { latitude + dLatitude, longitude + dLongitude };
        double[] leftBottomPoint = { latitude - dLatitude,
                longitude - dLongitude };
        double[] rightBottomPoint = { latitude - dLatitude,
                longitude + dLongitude };
        squareMap.put("leftTopPoint", leftTopPoint);
        squareMap.put("rightTopPoint", rightTopPoint);
        squareMap.put("leftBottomPoint", leftBottomPoint);
        squareMap.put("rightBottomPoint", rightBottomPoint);
        System.out.println("leftTop:"+leftTopPoint[0]+"======"+leftTopPoint[1]);
        System.out.println("rightTop:"+rightTopPoint[0]+"======"+rightTopPoint[1]);
        System.out.println("leftBottom:"+leftBottomPoint[0]+"======"+leftBottomPoint[1]);
        System.out.println("rightBottom:"+rightBottomPoint[0]+"======"+rightBottomPoint[1]);
        return squareMap;
    }

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-01-20
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-05-21
  • 2021-11-07
  • 2022-12-23
  • 2021-08-25
  • 2021-12-29
  • 2021-11-20
  • 2021-11-22
相关资源
相似解决方案