选择& hightlight我自己在OpenLayers3上绘制

时间:2016-04-25 15:27:36

标签: javascript openlayers-3

我试图添加一个精选互动,用于高亮显示我在此示例中绘制的功能,但在我自己的绘图中:

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"并继续绘制的功能,它似乎是选择切换开关。

我认为此代码适用于3.13.1版本

这里是Fiddle

1 个答案:

答案 0 :(得分:1)

您正在使用ol.FeatureOverlay将绘制的要素添加到 非托管 图层(旧featureOverlay.setMap(map);)。我不确定你为什么需要这个以及为什么会出现这种情况,但如果你改为 托管 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/