2021-08-27openlayers加载动态地图服务

37 篇文章 0 订阅
1 篇文章 0 订阅

先看下官网,需要加的参数如下。
在这里插入图片描述
方法源代码如下

  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
    )
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值