OpenLayers在悬停时高亮显示功能,并在单击时选择

OpenLayers highlight feature on hover and select on click

本文关键字:单击 选择 显示 悬停 高亮 OpenLayers 功能      更新时间:2023-09-26

我使用OpenLayers来显示地图并提供一些绘图功能。我还在要绘制的矢量层中添加了两个SelectFeatures。一个用于通过悬停突出显示绘制的特征,另一个用于单击来选择特征。
我用这个例子来认识到这一点。

问题是,这个解决方案实际上并不起作用(即使在给定的示例中也是如此)
如果我画了一个新的特征,我可以把光标放在上面高亮显示它,但不能点击选择它。(与示例相同,给定的功能运行良好,但绘制新功能后,点击选择功能不再起作用)

除了官方的例子之外,还有其他解决方案可以实现这一点吗?

这个例子在4个月前被修改,由于描述的混乱,编辑工具栏被排除在外。

我能够实现这样的功能。您需要按特定顺序激活控件:

highlightControl.activate();
selectControl.activate();
dragControl.activate();

悬停事件不由"拖动和平移控制器"处理,因此它们会尝试选择控制器,该控制器也不使用悬停事件,并将其传递给高亮显示控制器。类似地,单击事件不由拖动控制器处理,而是由选择控制器处理。最后,拖动事件由拖动控制器处理。最后一个被激活的是第一个被"咨询"的。