一、cesium项目遇到一个需求,底图需要可以切换成高德、腾讯、天地图。天地图用的时WGS84坐标系,而高德和腾讯用的GCJ02火星坐标系。我们向后端请求回来的图层数据是WGS84,因此会出现切换地图后,图层位置有偏差的问题。
二、地图加载纠偏查阅了不少资料,最终借鉴了这位大佬的方法,感谢大佬!
https://blog.csdn.net/hongxianqiang/article/details/140541555
三、那么地图纠偏后,问题又来了,项目上有根据经纬度查询地理位置信息的逆地理编码的功能需求,因此使用高德搜索位置有偏差。
造成这个问题的原因是,我们将GCJ02坐标系转换成了WGS84坐标系,但是高德逆地理编码服务,我们需要传入是GCJ02坐标,因此造成了这个偏差,我用的gcoord库进行坐标转换
npm install gcoord- function wgs84ToGcj02(lng, lat) {
- return gcoord.transform (
- [lng, lat], // 坐标点
- gcoord.WGS84, // WGS84坐标系
- gcoord.GCJ02 // 火星坐标系
- );
- }
复制代码 然后在使用Geocoder逆地理编码时将转换好的坐标传入就ok了~
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |