比如我们发了动态服务或切片服务的底图图层,此时只想让客户看到自己管辖区域内的底图图层别的区域不让他看到,这样的需求该怎么解决呢?
思路:根据客户所在区域获取该区域几何坐标,构造要素图层,然后设置要素图层【混合模式】即可轻松实现。
此时构造的要素图层也就是掩膜图层如下代码构建,关键是需要设置blendmode(混合模式)的值,并且该图层最后添加。
let layer = new GraphicsLayer({
blendMode: "destination-in",
title: "layer"
});
那blendmode的值都是什么意思呢
我们可以查看官网api
destination-in:目标图层(即底图图层)只显示与最上面的图层(掩膜图层)相交的部分,其余部分为透明;
destination-out:目标图层(即底图图层)只显示与最上面的图层(掩膜图层)不相交的部分,其余部分为透明;
source-in:目标图层(即底图图层)只显示与最上面的图层(掩膜图层)相交的部分,其余部分为透明;并且图层显示结果根据掩膜图层设置的样式显示。