问答

openlayers3 加载高德地图 偏移的问题

作者:admin 2021-07-15 我要评论

问题描述 项目中要使用openlayers3作为webgis的引擎,坐标系是EPSG:3857,再通过叠加天地图与高德地图作对比时发现,高德地图整体朝右下角偏移几百米. 问题出现的环...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

问题描述

项目中要使用openlayers3作为webgis的引擎,坐标系是EPSG:3857,再通过叠加天地图与高德地图作对比时发现,高德地图整体朝右下角偏移几百米.

问题出现的环境背景及自己尝试过哪些方法

根据度娘知道高德,腾讯等互联网地图都是GCJ-02的坐标系,尝试过网上的转换方法,但是好像针对百度地图有效,而且现在叠加百度地图和天地图已经可以了,就是高德地图有偏移

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

var url = '';
    if(layerName == 'vec'){// 有标注电子地图
        url = "http://webrd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={x}&y={y}&z={z}&ltype=0&scale=1";
    }else if(layerName == 'img'){// 无标注影像地图
        url = "https://webst0{1-4}.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}";
    }else if(layerName == 'img_i'){// 影像标注
        url = "https://wprd0{1-4}.is.autonavi.com/appmaptile?&x={x}&y={y}&z={z}&lang=zh_cn&size=1&scl=1&style=8&ltype=11";
    }
    var gaode = new ol.layer.Tile({
        name : params.layertitle,
        layerdescription: params.layerdescription,
        source: new ol.source.XYZ({
            projection: ol.proj.get('EPSG:3857'),
            url:url,
        })
    });
    return gaode;

这是百度转换后

var baiduMercatorProj = new ol.proj.Projection({
      code: 'baidu',
      extent: ol.extent.applyTransform(extent, projzh.ll2bmerc),
      units: 'm'
    });

ol.proj.addProjection(baiduMercatorProj);
ol.proj.addCoordinateTransforms('EPSG:4326', baiduMercatorProj, projzh.ll2bmerc, projzh.bmerc2ll);
ol.proj.addCoordinateTransforms('EPSG:3857', baiduMercatorProj, projzh.smerc2bmerc, projzh.bmerc2smerc);

你期待的结果是什么?实际看到的错误信息又是什么?

希望有大神指点一下迷津,

###

同样的问题,有解决吗?

###

楼上,你的代码是不行的。楼主想问的是如何加载高德地图到OPENLYAERS不出现偏移。你这样会出现偏移的,因为高德用的是GCJ02,不是WGS84

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • openlayers3 加载高德地图 偏移的问题

    openlayers3 加载高德地图 偏移的问题

  • Autodesk Forge Viewer如何对模型属性

    Autodesk Forge Viewer如何对模型属性

  • vue 表单多语言配置,切换英文的时候,la

    vue 表单多语言配置,切换英文的时候,la

  • element table如何导出指定列或指定行

    element table如何导出指定列或指定行

腾讯云代理商
海外云服务器