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