WGS84经纬度坐标 GCJ02火星坐标 BD09百度坐标互相转换
背景:uniapp做的微信小程序,使用到了相机拍照并获取位置坐标信息;在腾讯地图上展示坐标点位置信息;
由于业务需要我们的PC端用的不是腾讯地图,需要使用WGS84坐标或者2000坐标,但腾讯地图使用的是
火星坐标系,就涉及到WGS84转GCJ02火星坐标
网上很多答案昂,但是转换代码全是雷同,比如
但是转换后,定位效果却不精准,或者说非常不精准
无解了几天后,突然在某位大佬的博客发现了新的转换工具 github gcoord
用了gcoord之后达到了预想效果,bingo!!!
但是下载包的时候我遇到了一些错误,比如node版本需要16+,大家具体问题具体对待解决
用法也很简单,下面是简单demo核心代码
import gcoord from 'gcoord';
let result = gcoord.transform(
[119.20728481,32.951022055], // 经纬度坐标
gcoord.WGS84, // 当前坐标系
gcoord.GCJ02 // 目标坐标系
);
// result 即为转换后的火星坐标
gcoord提供的常见转换坐标系