先看下官网,需要加的参数如下。
方法源代码如下
function loadDynamicLayer(url, layerId, zIndex, vls, token) {
const showLayers = 'show:'.concat(vls)
const layer = new ol.layer.Image({
source: new ol.source.ImageArcGISRest({
url: url,//token不能放在url后面,必须放在参数params中
params: {
LAYERS: showLayers,
token: token,//前面一个token根据项目实际名字来定
},
imageLoadFunction: function(image, src) {
const projection = map.getView().get('spatialReference')
const encodeProjection = encodeURIComponent(JSON.stringify(projection))
src = src
.replace(/(BBOXSR=)(\w)+(?=&)/g, '$1' + encodeProjection)
.replace(/(IMAGESR=)(\w)+(?=&)/g, '$1' + encodeProjection)
.replace('DPI=90', 'DPI=96')
const _image = image.getImage()
//_image.src = src + '?sipsdToken=' + token
_image.src = src
},
}),
})
layer.setZIndex(zIndex)
layer.set('id', layerId)
map.addLayer(layer)
}
方法引用如下
loadDynamicLayer(
'http://.......',//此处为地图服务url
'parkLayer',//id名字随便
99,
[0, 1, 2, 3, 4, 5],//展示多少图层,视所需而定
token,//token
)