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.FeatureOverlay
)featureOverlay.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'
});
我正在尝试添加一个 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.FeatureOverlay
)featureOverlay.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'
});