高德地图api加载其他服务器上arcgis发布wms服务时候遇到跨域问题的解决方法

1.代码

 var map = new AMap.Map("map", {
            zoom: 13,
            pitch: 50,
            showIndoorMap: false,
            showLabel: false,
            mapStyle: 'amap://styles/light',
            center: [101.78, 36.62],
          features: ['bg', 'point', 'road'],
          viewMode: '3D'


        });
 //轨迹线
 var wms5 = new AMap.TileLayer.WMS({
            url: 'http://10.1.8.37:6080/arcgis/services/xjgj/MapServer/WMSServer', // wms服务的url地址
            blend: false, // 地图级别切换时,不同级别的图片是否进行混合
            tileSize: 256, // 加载WMS图层服务时,图片的分片大小
            params: {
                'LAYERS': '0',
                VERSION: '1.3.0',
                STYLES: 'default',
                FORMAT: 'image/png'
            } // OGC标准的WMS地图服务的GetMap接口的参数
        });
   wms5.setMap(map);

运行结果:

2.解决办法:

1)经验证,安装ArcGIS10.4以及以上版本的环境(包括desktop和server)

2)如果不满足版本要求,则配置代理(10.1,10.2,10.3,本人安装的是10.2环境)

一开始参照https://blog.csdn.net/a1002308667/article/details/52044290这篇文章做的,依旧不能解决问题。

后来在大佬@Sily°小雨天 的帮助下,终于解决了该问题,特此表示由衷的感谢!

1)先下载代理文件 https://github.com/Esri/resource-proxy/releases 10.2对应的是1.1.0版本

2)修改proxy.config文件 (这块是重点)

3)将DotNet文件放到项目中(位置自定义)

4)代理路径调用(大功告成了!)

ps:

var map = new AMap.Map("map", {
            zoom: 13,
            pitch: 50,
            showIndoorMap: false,
            showLabel: false,
            mapStyle: 'amap://styles/light',
            center: [101.78, 36.62],
          features: ['bg', 'point', 'road'],
          viewMode: '3D'
 
 
        });

如果构建地图的时候不加 viewMode: '3D',则10.2,10.3环境不会出现跨域情况。
 

发布了48 篇原创文章 · 获赞 24 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/xlp789/article/details/96988164