腾讯地图和百度地图经纬度的相互转换
/***
* 百度地图经纬度转为腾讯地图经纬度
* @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