地图坐标转换

百度地图转换腾讯坐标

   public static double[] map_bd2tx(double lat, double lon){
        double tx_lat;
        double tx_lon;
        double x_pi=3.14159265358979324;
        double x = lon - 0.0065, y = lat - 0.006;
        double z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * x_pi);
        double theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * x_pi);
        tx_lon = z * Math.cos(theta);
        tx_lat = z * Math.sin(theta);
        return new double[]{tx_lat,tx_lon};
    }
}

腾讯转百度坐标

  function qqMapTransBMap(lng, lat) {

    let x_pi = 3.14159265358979324 * 3000.0 / 180.0;

    let x = lng;

    let y = lat;

    let z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * x_pi);

    let theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * x_pi);

    let lngs = z * Math.cos(theta) + 0.0065;

    let lats = z * Math.sin(theta) + 0.006;
    return {
      lon: lngs,
      lat: lats,
    }

  }

百度转腾讯火星坐标

 function bd09togcj02(bd_lon, bd_lat) {
    var x_pi = 3.14159265358979324 * 3000.0 / 180.0;
    var x = bd_lon - 0.0065;
    var y = bd_lat - 0.006;
    var z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * x_pi);
    var theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * x_pi);
    var gg_lng = z * Math.cos(theta);
    var gg_lat = z * Math.sin(theta);
    return {
      lon: gg_lng,
      lat: gg_lat
    }
  }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容