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

时间:2011-08-12 12:49:51

标签: openlayers

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

  • 地图上有固定的功能,当用户将鼠标悬停在固定功能上时,用户可以在页面上获取其他信息(不是地图上的弹出窗口);

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

我目前每个人都独立工作。我有两个矢量图层,一个用于固定功能,另一个用于可拖动功能。第一层具有OL.Control.SelectFeature控件{hover:true},第二层具有OL.Control.DragFeature控件。但是,当我启用DragFeature控件时,当我将鼠标悬停在固定功能上时,SelectFeature控件不再会收到任何事件。相反,如果我提高固定要素图层的z-index(如建议的here),则无法拖动可拖动的要素。这表明只有最顶层可供用户交互。

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

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

1 个答案:

答案 0 :(得分:0)

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