扩展默认的OpenLayers编辑样式?

时间:2016-08-10 19:40:22

标签: javascript openlayers-3

我有一个更大的image: radius矢量样式。我希望选择交互的样式与矢量样式的image: radius匹配。

如果不根据this page in the documentation手动重新定义整个编辑样式,我怎么能这样做?

是否可以采用默认样式并仅覆盖一个部分?像图像的半径?或者至少只重新定义整个图像?

1 个答案:

答案 0 :(得分:0)

<强> Fiddle

$('div#modalAuthorWork') // div with ID modalAuthorWork $('div.modalAuthorWork') // div with css class modalAuthorWork ol.layer.Vector之间共享style function,在选择时,更改将在您的函数中读取的变量:

ol.interaction.Select

I'm proposing可以在这种情况下使用var radius = 10; var styleFunction = function() { return [ new ol.style.Style({ image: new ol.style.Circle({ radius: radius, fill: new ol.style.Fill({ color: 'green' }) }) }) ]; }; var select_interaction = new ol.interaction.Select({ style: styleFunction }); select_interaction.on('select', function(evt) { radius = evt.selected.length > 0 ? 20 : 10; });