您的位置:首页 > 移动开发 > 微信开发

小程序--百度地图坐标 与 腾讯地图坐标 转换

2019-06-19 14:00 260 查看

/**

* 坐标转换,百度地图坐标转换成腾讯地图坐标

* lng 腾讯经度(pointy)

* lat 腾讯纬度(pointx)

* 经度>纬度

*/

function bMapToQQMap(lng, lat) {

if (lng == null || lng == '' || lat == null || lat == '')

return [lng, lat];

var x_pi = 3.14159265358979324;

var x = parseFloat(lng) - 0.0065;

var y = parseFloat(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 lng = (z * Math.cos(theta)).toFixed(7);

var lat = (z * Math.sin(theta)).toFixed(7);

return [lng, lat];

}

/**

* 坐标转换,腾讯地图转换成百度地图坐标

* lng 腾讯经度(pointy)

* lat 腾讯纬度(pointx)

* 经度>纬度

*/

function qqMapToBMap(lng, lat) {

if (lng == null || lng == '' || lat == null || lat == '')

return [lng, lat];

var x_pi = 3.14159265358979324;

var x = parseFloat(lng);

var y = parseFloat(lat);

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 lng = (z * Math.cos(theta) + 0.0065).toFixed(5);

var lat = (z * Math.sin(theta) + 0.006).toFixed(5);

return [lng, lat];

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: