使用自定义图层视图的遮罩效果

尝试一下在线预览

重要笔记:

  • 此示例显示实验功能,请在产品中使用之前仔细阅读文档。

此示例演示了如何实现 “遮罩” 效果,其中整个地图变暗,除了用户定义的几何图形。该效果非常适合将查看者的注意力吸引到给定区域。

此示例假定您熟悉自定义层视图。有关详细信息,请参阅 BaseLayerView2D 的文档。

使用 Canvas2D 的软边缘遮罩

该示例实现了软边缘掩蔽效果;新层类型定义了三个配置属性:

  • color。被遮罩区域采用的颜色。
  • geometry。定义未遮罩区域的几何图形;未遮罩的区域是完全透明的。此几何之外的任何内容都将使用 color 进行遮罩。
  • distance。从未遮罩过渡到遮罩所需的像素长度。

效果是逐块实现的;将切片清除为遮罩 color,然后通过使用 CanvasRenderingContext2D.globalCompositeOperation = "destination-out"; 绘制 geometry 来创建未遮罩区域。使用的确切绘制算法取决于几何类型。

下图举例说明了多边形几何情况下的算法;为了创建从未遮罩到遮罩的柔和过渡,多边形几何图形的环被渲染为粗线;这具有略微降低大面积不透明度的效果;然后几何图形再次呈现为更细的线,从而使切片在靠近环的中线时更加透明。最后,几何图形被渲染为填充,以便未遮罩区域的内部变得完全透明。

masking-effect

其他可视化示例和资源

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.