![](/img/trans.png)
[英]Using select and hover listener in openlayers 2 - hover change style
[英]Overwrite style properties on select in OpenLayers
我想重用我的基本样式功能,通过覆盖一些属性来创建选择样式。 这种方法适用于线串,多边形和文本的填充/描边颜色,但不适用于图像(在我的情况下为圆圈)。 我不想创建新图像,因为应该保留其他属性。
var selectStyleFunction = function(feature, resolution) {
var style = styleFunction(feature, resolution)[0];
style.getImage().getFill().setColor("magenta");
console.log(style.getImage().getFill().getColor());
return [style];
};
在这个小提琴中,您可以看到,尽管日志输出正确,但是上面的代码并没有更改所选的要素样式。
有什么办法可以覆盖此属性?
我在openlayers的api文档中找到了我的问题的答案。 首先发现它太明显了。
https://openlayers.org/en/latest/apidoc/ol.style.Style.html
ol.style.Style
矢量功能渲染样式的容器。 在重新渲染使用样式的要素或图层之前,通过set *()方法对样式或其子项所做的任何更改都不会生效。
因此,渲染不会由设置者触发。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.