一、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了~

posted on 2025-07-23 09:25  九零菜菜  阅读(213)  评论(0)    收藏  举报