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

时间:2013-02-06 06:06:54

标签: openlayers

我在Firefox 18.0上使用Openlayers 2.12。

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

http://openlayers.org/dev/examples/select-feature-multilayer.html

所以基本上我改变了这个:

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();

现在我无法在任何图层上正确选择(我画的)功能,获得任何线索?

2 个答案:

答案 0 :(得分:1)

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

map.addControl(new OpenLayers.Control.EditingToolbar(vectors2));

你有两种方法可以摆脱这个问题。

第一种方式:

添加一个新工具来激活和切换选择控件。

第二种方式:

尝试设置false来拖动原型。

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

我希望它可以帮助你...

答案 1 :(得分:0)

如果您有用于显示控件的面板区域,则可以设置' allowDepress'通过单击代表它们的图标来取消激活属性。