4
我有一个包含3层的贴图:1个基础层,1个覆盖层和1个WFS层。 予加载它们是这样的:选择不在顶层的特征
map.addLayers([baseLayer, wfsLayer, overlayLayer]);
当用户点击地图上应该选择WFS层上的特征。 所以我已经添加了选择控制调用map.addLayers后:
selectControl = new OpenLayers.Control.SelectFeature(
[wfsLayer],
{
clickout: true, toggle: false,
multiple: false, hover: false
}
);
map.addControl(selectControl);
selectControl.activate();
这个伟大的工程,点击后得到选择我的特点。
但我的覆盖层位于WFS层下面,我希望它位于顶层。 覆盖图层是未填充的多边形图层。 所以我加了
map.setLayerZIndex(overlayLayer, map.Z_INDEX_BASE[ "Feature" ]+10);
after map.addLayers。 这看起来没问题。我的覆盖图层现在位于我的WFS图层上方。 但是,当我现在点击地图时,没有选择。
很可能我没有做对。我怎样才能使我的覆盖图层上和我的WFS图层可选?
[编辑]
如由Christophe提到我试图
selectControl = new OpenLayers.Control.SelectFeature(
[wfsLayer, overlayLayer],
{
clickout: true, toggle: false,
multiple: false, hover: false
}
);
但是,这导致了一个错误OL,可能是因为覆盖层是一个WMS层。
[编辑#2]
尝试将多个图层传递给SelectFeature构造函数:'[wfsLayer,overlayLayer]' – 2013-04-29 13:15:49
谢谢Christophe。我尝试过,但后来我得到这个错误: TypeError:a.renderer未定义 overlayLayer是一个GWC层(使用GeoServer) – 2013-04-29 18:30:55
也许尝试GIS stackexchange论坛,我从来没有使用GWC层。 – 2013-04-30 10:50:52