arcgis for js实现阴影立体效果

效果

在这里插入图片描述

实现

主要通过effect属性实现

代码: (这里以GeoJSON图层为例, 代码复制即可用)

<!DOCTYPE html>
<html lang="zn">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Yang的案例</title>

    <style>
      body {
        margin: 0;
      }
      #mapview {
        position: absolute;
        width: 100%;
        height: 100%;
        background: #fff;
      }
    </style>

    <link rel="stylesheet" href="https://js.arcgis.com/4.23/esri/themes/light/main.css" />
    <script src="https://js.arcgis.com/4.23/"></script>
  </head>
  <body>
    <div id="mapview"></div>

    <script>
      require([
        'esri/Map',
        'esri/views/MapView',
        'esri/Basemap',
        'esri/layers/WebTileLayer',
        'esri/layers/GroupLayer',
        'esri/layers/GeoJSONLayer',
        'esri/layers/VectorTileLayer'
      ], function (Map, MapView, Basemap, WebTileLayer, GroupLayer, GeoJSONLayer) {
        // 初始化底图
        window.map = new Map({
          basemap: 'hybrid'
        })

        // 创建2维视图
        let view = new MapView({
          container: 'mapview',
          map: map,
          zoom: 13, // 初始化级别
          center: [103.97992123657217, 30.680738016500914] // 初始化中心点坐标
        })

        view.when(() => {
          // 去除原本底图
          map.basemap = null

          // 使用geojson实现
          const boundaryLineLayer = new GeoJSONLayer({
            url: 'https://geo.datav.aliyun.com/areas_v3/bound/510105.json',
            effect: 'drop-shadow(0, 8px, 3px, rgba(0,0,0,1))',
            // effect: 'brightness(150%) drop-shadow(20px, 20px, 10px, #000)',
            outFields: ['*'],
            renderer: {
              type: 'simple',
              symbol: {
                type: 'simple-line',
                color: '#000',
                width: 1
              }
            }
          })
          map.add(boundaryLineLayer)
        })
      })
    </script>
  </body>
</html>

effect值说明

关键字说明示例
brightness亮度1.5
drop-shadow阴影50px, 40px, 20px, #000
blur滤镜/模糊度4px
grayscale灰度2
hue-rotate色调翻转120deg
contrast对比度200%
bloom?
invert?
opacity透明度50%
saturate饱和度150%
sepia?50%

其他arcgis js效果实例

其他效果后续有时间了再更新

  • 天地图只显示部分区域,其余为透明遮罩

    在这里插入图片描述

  • 天地图区域高亮

    在这里插入图片描述

  • 立体效果

    在这里插入图片描述

  • 层叠立体效果

    在这里插入图片描述

  • 旋转底座 (css实现, 先记录在这儿, 后续更新)

    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值