首页 文章

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

提问于
浏览
0

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

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

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

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

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

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

1 回答

  • 0

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

相关问题