我正在尝试创建一个具有两个基本功能的OpenLayers UI:
我现在已经让每个人独立工作了。我有两个向量层,一个用于固定特征,另一个用于可拖动特性。第一层有OL.Control.SelectFeature控件和{hover:true},第二层有OL.Control.DragFeature控件。但是,当我启用DragFeature控件时,当我鼠标单击固定的特性时,SelectFeature控件将不再收到任何事件。相反,如果我提高固定功能层的z索引(如建议的这里),则不能拖动可拖动的特性。这意味着只有最顶层可以用于用户交互。
我想我在这里犯了一个相当基本的错误。如何允许用户在两个层上与功能交互?或者,是否有更好的方法来设计我上面提到的用户体验?
我可以看到的另一个选择是,我将两种类型的特性放在一个层上,并以某种方式防止固定的特性响应拖动交互。但是,纵观OpenLayers API,我看不出有什么明显的方法可以让DragFeature控件在用户输入后放弃拖动交互。
发布于 2011-08-12 16:55:26
好的,找到了一个解决方案:SelectFeature控件需要附加到两个层,然后悬停事件处理程序检查该特性是否可以选择。可拖动功能保留在单独的层上,因此它是唯一可拖放的对象。本帖对找出答案很有帮助。
https://stackoverflow.com/questions/7040328
复制相似问题