OL3:如何根据缩放修改选定的要素样式?

bra*_*b84 5 javascript openlayers-3

我使用以下代码根据缩放级别修改圆形标记的半径:

//add the layer to the map
map.addLayer(vectorLayer);

//add selection interactivity, using the default OL3 style
var select = new ol.interaction.Select();

map.addInteraction(select);


map.getView().on('change:resolution', function(evt) {

  var zoom = map.getView().getZoom();
  var radius = zoom / 2 + 1;

  var newStyle = new ol.style.Style({
      image: new ol.style.Circle({
        radius: radius,
        fill: new ol.style.Fill({color: 'red'}),
        stroke: new ol.style.Stroke({color: 'black', width: 1})
    })
  })

  vectorLayer.setStyle(newStyle);

  });
Run Code Online (Sandbox Code Playgroud)

但我遇到的问题是,如果我在地图上选择一个要素,则当地图缩放更改时,所选/突出显示的样式不会更改。如何根据缩放/分辨率动态修改所选功能的样式?

澄清 上面的代码已经适用于更改地图上所有要素的半径,但除此之外,我还需要更改所选要素的半径。选定和未选定的功能都应根据缩放级别而变化。

小智 0

您是否也以其他样式(选定/突出显示)设置了半径?