Select & 在 OpenLayers 3 上突出显示我自己的绘图

Select & hightlight my own draws on OpenLayers3

我正在尝试添加一个 select 交互来突出显示我在本例中绘制的特征,但这是我自己绘制的:

http://openlayers.org/en/master/examples/select-features.html

突出显示我使用的功能ol.events.condition.pointerMove

var highlighter = new ol.interaction.Select({
     layers: [featureOverlay],
     condition: ol.events.condition.pointerMove
});

在我的示例中,当我绘制多边形时,启动 "Hightlighter" 并继续绘制功能,它看起来像 selection 切换开关。

我认为这段代码适用于 3.13.1 版本

这是一个Fiddle

您正在将绘制的要素添加到 unmanaged 层(旧的 ol.FeatureOverlayfeatureOverlay.setMap(map); .我不确定您为什么需要这个以及为什么会闪烁,但是如果您更改为 managed ol.layer.Vector 那么这种行为就会消失:

var featureOverlay = new ol.layer.Vector({
  source: new ol.source.Vector(),
  style: featureStyle
});
map.addLayer(featureOverlay);

var drawPolygon = new ol.interaction.Draw({
  source: featureOverlay.getSource(),
  type: 'Polygon'
});

http://jsfiddle.net/jonataswalker/p1q7s50k/