1、arcgis矢量数据的叠加
/**
* @description 创建矢量数据图层
* @param {Object} config 图层对象数据
* @param {Object} olmap 地图ol对象
* @param {String} idCode 图层id
* @param {Number} zindex 图层层级
*/
var createLayerVectorData = (config , olmap , idCode , zindex) =>{
var layer = null
layer = new olmap.layer.Image({
id: idCode,
zIndex: zindex,
source: new olmap.source.ImageArcGISRest({
name: config.name,
url: config.url
})
})
return layer
}
2、arcgis影像数据的叠加
/**
* @param {Object} olmap 地图ol对象
* @param {String} idCode 图层id
* @param {Object} config 图层对象数据
* @param {Number} zindex 图层层级
* @param {Array} projection 投影坐标系
*/
var createLayerImageArcGISRest = (config , olmap , idCode , zindex , projection) =>{
var layer = new olmap.layer.Image({
id: idCode,
zIndex: zindex,
source: new olmap.source.ImageArcGISRest({
projection: projection.split(':')[1],
name: config.name,
url: config.url,
params: {
layers: config.layerId ? 'show:' + config.layerId : ''
},
crossOrigin: 'anonymous' //防止地图打印出现问题
})
})
return layer
}
3、arcgis切片数据的叠加
/**
* @description 创建XYZ切片方式创建图层 layer.TileArcGISRest
* @param {String} originStr 3.48768E7,1.00021E7
* @param {Object} config 图层对象数据
* @param {Object} olmap 地图ol对象
* @param {String} idCode 图层id
* @param {Number} zindex 图层层级
* @param {Array} projection 投影坐标系
* @param {Array} extent 地图范围
* @param {Array} resolutions 分辨率的集合
*/
var createLayerTileArcGISRest = (config , originStr , olmap ,idCode , zindex , projection , extent , resolutions) =>{
var layer = null;
let url = config.url + '/tile/{z}/{y}/{x}'
var ori = originStr.split(',')
var origin = [parseFloat(ori[0]), parseFloat(ori[1])]
var tileGrid = new olmap.tilegrid.TileGrid({
tileSize: 256,
origin: origin,
extent: extent,
resolutions: resolutions
})
var tileArcGISXYZ = new olmap.source.XYZ({
tileGrid: tileGrid,
projection: projection,
url: url,
crossOrigin: 'anonymous' //防止地图打印出现问题
})
layer = new olmap.layer.Tile({
id: idCode,
zIndex: zindex,
source: tileArcGISXYZ
})
return layer
}