全部。我有这个小问题,我正在寻求帮助:
首先我有一个包含以下内容的函数:
var point = new OpenLayers.Geometry.Point(imageConfig.XPos, imageConfig.YPos);
var imageFeature = new OpenLayers.Feature.Vector(point);
layers.imageLayer.addFeatures([imageFeature]);
因此在图层上绘制了一个点。在这一层上还有一个 openlayers 拖动控件。它在绘制点后被激活。现在我可以拖动这个点了。奇迹般有效。
这是用户驱动的逐步过程的一小部分。因此,在拖动完成后,接下来的步骤将对该点进行一些操作。在执行这些其他步骤时,拖动控件被停用。在该过程中,可以在步骤之间跳转,因此需要取消/激活拖动控制。这工作正常。
在所有步骤结束时,该点将从图层中移除。这也很好用。
但是:如果我再次调用在图层上绘制点的函数(因为现在它是一个新点)并激活拖动控件,即使我尝试用鼠标单击选择点,我也无法再拖动新点? !
我用 firbug 控制:
- 功能在那里
- 功能在正确的图层上
- 控制在那里
- 控制在正确的层
- 控制被激活
也许我在这里遗漏了一件简单的事情。但是我现在已经打破了这两天的头脑,找不到答案。
顺便说一句,我发现在第一步序列中(当一切正常时),控件特性属性是用点特性设置的。但在第二个没有。在控件拖动处理程序功能属性中相同。
我尝试通过以下方式手动设置它:
control.feature = imageFeature
和:
control.handler.drag.feature = imageFeature
我正在寻找一个功能来设置控件的新功能。但在 openlayers 文档上找不到任何内容。其他控件同时不活动(用萤火虫控制)。
但没有运气。没有帮助。为什么这个?我确信这应该有效。站在这里我做错了什么或想念???
每一个帮助表示赞赏。
谢谢