更改 ol3 中图层的不透明度

Changing opacity for layers in ol3

我模糊记得看到 Open Layers 3 的示例,其中添加的图层的不透明度可以更改。 ol3 示例页面上仍然有这样的示例,但它们需要 webgl-renderer(排除了矢量图层)。有什么方法可以使用常规 canvas 渲染器更改矢量 and/or 栅格图层的不透明度?

我不知道是否有矢量示例使用它,但所有 ol3 层都支持 setOpacity 方法:

https://openlayers.org/en/v3.20.1/apidoc/ol.layer.Vector.html#setOpacity

下面是图像层的处理方法。对于其他层使用相同的函数:

myimage = new ol.layer.Image({
      source: new ol.source.ImageStatic({
          url:some_url,
          crossOrigin: '',
          projection: 'EPSG:26916',
          imageExtent: some_extent
      }),
      opacity: 1.0
  });
  .
  .
  .
  myimage.setOpacity(0.6);