Openlayers 无法在多个图层上选择绘制的要素

Openlayers 无法在多个图层上选择绘制的要素,openlayers,Openlayers,我在Firefox18.0上使用Openlayers 2.12 我只是在这个示例中添加了一个EditingToolbar: 所以我基本上改变了这一点: map.addLayers([wmsLayer, vectors1, vectors2]); map.addControl(new OpenLayers.Control.LayerSwitcher()); selectControl = new OpenLayers.Control.SelectFeature ( [vectors1,

我在Firefox18.0上使用Openlayers 2.12

我只是在这个示例中添加了一个EditingToolbar:

所以我基本上改变了这一点:

map.addLayers([wmsLayer, vectors1, vectors2]);
map.addControl(new OpenLayers.Control.LayerSwitcher());
selectControl = new OpenLayers.Control.SelectFeature
(
    [vectors1, vectors2],
    {
        clickout: true, toggle: false,
        multiple: false, hover: false,
    }
);

map.addControl(selectControl);
selectControl.activate();
通过添加一行:

map.addLayers([wmsLayer, vectors1, vectors2]);
map.addControl(new OpenLayers.Control.EditingToolbar(vectors2));
map.addControl(new OpenLayers.Control.LayerSwitcher());
selectControl = new OpenLayers.Control.SelectFeature
(
    [vectors1, vectors2],
    {
        clickout: true, toggle: false,
        multiple: false, hover: false,
    }
);

map.addControl(selectControl);
selectControl.activate();

现在我无法在任何图层上正确选择(我绘制的)特征,是否有线索?

您提到的问题源自将编辑工具栏添加到地图时拖动处理程序激活

map.addControl(新的OpenLayers.Control.EditingToolbar(vectors2))

有两种方法可以解决这个问题

第一种方式:

添加新工具以激活和切换选择控件

第二种方式:

尝试设置
false
以拖动原型

OpenLayers.Handler.Drag.prototype.stopDown = false;

我希望它能帮助您……

您提到的问题是由于在地图中添加编辑工具栏时拖动处理程序激活而产生的

map.addControl(新的OpenLayers.Control.EditingToolbar(vectors2))

有两种方法可以解决这个问题

第一种方式:

添加新工具以激活和切换选择控件

第二种方式:

尝试设置
false
以拖动原型

OpenLayers.Handler.Drag.prototype.stopDown = false;

我希望它能帮助您…

如果您有用于显示控件的面板区域,您可以通过单击表示它们的图标将“allowDepress”属性设置为禁用。

如果您有用于显示控件的面板区域,您可以通过单击代表“allowDepress”属性的图标将其设置为停用。

第二种方法非常有效,非常感谢。我没有得到关于拖动处理程序的解释,我对第一种方式有点困惑。不客气。第一种方法是添加新工具作为拖动处理程序工具或添加新点工具。祝你好运:)第二种方法很有魅力,非常感谢。我没有得到关于拖动处理程序的解释,我对第一种方式有点困惑。不客气。第一种方法是添加新工具作为拖动处理程序工具或添加新点工具。祝你好运:)