OpenLayers:混合固定和可拖动功能

OpenLayers:混合固定和可拖动功能,openlayers,Openlayers,我正在尝试创建一个OpenLayers UI,它具有两个基本功能: 地图上有固定的特征,当用户将鼠标悬停在固定特征上时,会在页面上获得附加信息(而不是地图上的弹出窗口) 有一个可拖动的参考点,用户可以在地图上移动 我现在已经让每一个独立工作。我有两个向量层,一个用于固定特性,一个用于可拖动特性。第一层有一个OL.Control。使用{hover:true}选择feature控件,第二层有一个OL.Control.DragFeature控件。但是,当我启用DragFeature控件时,Sele

我正在尝试创建一个OpenLayers UI,它具有两个基本功能:

  • 地图上有固定的特征,当用户将鼠标悬停在固定特征上时,会在页面上获得附加信息(而不是地图上的弹出窗口)

  • 有一个可拖动的参考点,用户可以在地图上移动

我现在已经让每一个独立工作。我有两个向量层,一个用于固定特性,一个用于可拖动特性。第一层有一个
OL.Control。使用
{hover:true}
选择feature
控件,第二层有一个
OL.Control.DragFeature
控件。但是,当我启用
DragFeature
控件时,
SelectFeature
控件在我将鼠标移到固定功能上时不再获取任何事件。相反,如果我提高固定要素图层的z索引(如建议的),则无法拖动可拖动要素。这表明只有最顶层可供用户交互

我想我犯了一个基本的错误。如何允许用户在两个层上与功能交互?或者,有没有更好的方法来设计我上面提到的用户体验


我可以看到的另一种选择是,我将这两种类型的特征放在一个图层上,并以某种方式阻止固定特征响应拖动交互。但是,通过OpenLayers API查看,我看不到任何明显的方法可以让DragFeature控件在用户启动后放弃拖动交互。

好的,找到了一个解决方案:需要将
SelectFeature
控件连接到两个层,然后,悬停事件处理程序检查该功能是否可选。可拖动功能保留在单独的图层上,因此它是唯一可拖动的对象。有助于找出答案