折翼的飞鸟

导航

腾讯地图和百度地图经纬度的相互转换

/***
 * 百度地图经纬度转为腾讯地图经纬度
 * @lat  纬度  number
 * @lng  经度  number
 */
export const GetBdMapToTxMapLatLng = (lat, lng) => {
  let pi = (3.14159265358979324 * 3000.0) /180.0;
  let x = Number(lng) - 0.0065;
  let y = Number(lat) - 0.006;
  let z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * pi);
  let theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * pi);
  lng = z * Math.cos(theta);
  lat = z * Math.sin(theta);
  return {
    lat : lat,
    lng : lng
  }
}


/**
 * 腾讯地图转百度地图经纬度
 * @lng   number  经度
 * @lat   number  纬度
 * */
export const GetTxMapToBdMapLatLng = (lng, lat) => {
  let x_pi = (3.14159265358979324 * 3000.0) / 180.0;
  let x = Number(lng);
  let y = Number(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 {
    lng: lngs,
    lat: lats
  }
}

 

参考文档: https://blog.csdn.net/weixin_44447255/article/details/123800861

 

posted on 2022-06-26 15:50  折翼的飞鸟  阅读(568)  评论(0编辑  收藏  举报