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

博客提供了两个坐标转换函数。一是将百度地图坐标转换成腾讯地图坐标的函数,二是将腾讯地图坐标转换成百度地图坐标的函数。函数中对输入的经纬度进行了判断和处理,利用数学公式完成坐标转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/**

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

* 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];

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值