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

本文介绍了解决使用ArcGIS10.2环境下地图服务跨域问题的方法。通过安装特定版本的代理文件并正确配置代理,成功避免了跨域错误。文中还提供了一段创建3D地图的示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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.youkuaiyun.com/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环境不会出现跨域情况。
 

 

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值