美文网首页
2022-03-10 Cesium实现全球遮罩

2022-03-10 Cesium实现全球遮罩

作者: MrSwilder | 来源:发表于2022-03-10 16:04 被阅读0次

代码比较简单,直接上了

/**
 * 添加遮罩
 */
function addMask() {
  GeoJsonDataSource.load('/data/world.json', {
    clampToGround: true,
    fill: new Color(0 / 255, 0 / 255, 0 / 255, 0.5),
    strokeWidth: 0,
  }).then((dataSource) => {
    maskDataSource = dataSource
    viewer.dataSources.add(dataSource)
    dataSource.entities.values.forEach((entity) => {
      const polygon: any = {
        hierarchy: entity.polygon?.hierarchy?.getValue(JulianDate.now()),
        fill: true,
        material: new Color(0 / 255, 0 / 255, 0 / 255, 0.5),
        classificationType: ClassificationType.TERRAIN,
        stroke: false,
        perPositionHeight: false,
        arcType: ArcType.RHUMB,
        height: 10000,
      }
      entity.polygon = polygon
    })
  })
}

二、遇到的问题
代码很简单,原理就是用全球数据挖个洞,但是如果用数据直接设置全球范围的话只能显示半边,因此需要将源数据拆分为三部分或以上,才能实现,效果如下:


image.png

背面:


image.png

相关文章

  • 2022-03-10 Cesium实现全球遮罩

    代码比较简单,直接上了 二、遇到的问题代码很简单,原理就是用全球数据挖个洞,但是如果用数据直接设置全球范围的话只能...

  • Swift 添加两种遮罩的方式

    没有遮罩前的效果 代码实现 遮罩方式一 代码实现 遮罩方式二 代码实现 实战 -- 二维码扫描区域遮罩 代码实现 ...

  • cesium流动材质应用特效

    采用vue+cesium实现 引入js部分 importCesiumfrom"cesium/Cesium"; ex...

  • cesium调用天地图服务

    cesium调用天地图服务 cesium调用天地图服务 全球影像中文注记服务 全球矢量中文注记服务

  • Cesium(七)热力图

    一、下载cesium-heatmap.js在Cesium中实现热力图需要cesium-heatmap.js,可以使...

  • 遮罩层实现

    代码如下 实现效果:点击按钮,显示遮罩层,弹出弹框点击遮罩层,隐藏遮罩层,隐藏弹框

  • 微信小程序实现遮罩及阻止遮罩层下的页面滚动

    实现遮罩效果 Html CSS 阻止遮罩层下的页面滚动 只需要在遮罩层上加上catchtouchmove='tur...

  • cocos2dx遮罩

    遮罩是很多地方都能用到的东西,新手教程,截图等等,都能用遮罩来实现。 遮罩的原理知其然,知其所以然。遮罩其实可以理...

  • iOS 两种遮罩方式

    在项目中,经常会遇到遮罩效果处理。其中使用CAShapeLayer实现遮罩效果最佳。下面先介绍两种遮罩场景:正常显...

  • Cesium卷帘

    cesium实现卷帘效果比较简单,在官网也提供了相应的例子[https://sandcastle.cesium.c...

网友评论

      本文标题:2022-03-10 Cesium实现全球遮罩

      本文链接:https://www.haomeiwen.com/subject/zsofdrtx.html