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