ArcGIS API JS实现某个区域的底图高亮效果

效果

直接上代码

      const graphicsLayer = new this.esri.GraphicsLayer({
        // blendMode: 'destination-in',
        blendMode: 'destination-in',
        title: 'layer',
        spatialReference: { wkid: 32650 }
      })

      this.layer.tileLayer = new this.esri.WMTSLayer({
        url: `${process.env.VUE_APP_RHGIS_ML_API}${uuid}/MapServer/wtms`,
        spatialReference: { wkid: 32650 }
      })

      const groupLayer = new this.esri.GroupLayer({
        layers: [
          this.layer.tileLayer,
          graphicsLayer
        ],
        opacity: 0
      })
      this.map = new this.esri.Map({
        layers: [this.layer.baseLayer, groupLayer]
      })
		// feature是要高亮显示的部分
		graphicsLayer.graphics.add(feature);

思路

  • 就是两个图层叠到一块,再通过GraphicsLayer的blendMode属性来控制显示效果
  • blendMode还有其他属性可以设置:
    • average
    • color-burn
    • color-dodge
    • color
    • darken
    • destination-atop
    • destination-in
    • destination-out
    • destination-over
    • difference
    • exclusion
    • hard-light
    • hue
    • invert
    • lighten
    • lighter
    • luminosity
    • minus
    • multiply
    • normal
    • overlay
    • plus
    • reflect
    • saturation
    • screen
    • soft-light
    • source-atop
    • source-in
    • source-out
    • vivid-light
    • xor

参考

  1. WMSLayer | API Reference | ArcGIS Maps SDK for JavaScript 4.28 | ArcGIS Developers
  • 50
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值