我有幾個矢量圖層有一個多邊形,一個有線。我們需要將線添加到附加到多邊形的線層(數據庫過程需要存儲在多邊形屬性中的多邊形ID)Openlayers 2. z軸和選擇控制
所以我對lineLayer有一個drawFeature控件,並且selectFeature (在懸停時存儲ID而不是僅選擇)在polygonLayer上。它實際上工作得很好,除了線圖層的z軸較小外,所以它顯示了在多邊形下繪製的新線條。寧願讓線顯示在多邊形上。我知道這是因爲當selectFeature控件處於活動狀態時,它將多邊形圖層的z-index設置爲高於lineLayer。 我使用lineLayer.setZIndex(800)或其他方式手動設置線層的z-index高於多邊形層,並且確實使新線繪製在多邊形上,但是然後selectFeature事件不會觸發。 我已經考慮了幾種解決方案,包括將drawFeature添加到我的多邊形圖層,然後在完成時將該特徵移動到線條圖層,但它仍然在多邊形下呈現,我甚至在我的樣式地圖的「臨時」樣式上使用了graphicZIndex在多邊形圖層上。無濟於事(我確實在多邊形圖層上設置了renderOptions zindexing爲真)
我可能會從錯誤的角度來處理這個問題,所以我願意提供建議。如果在矢量圖層上有一個像getFeatureByPosition(position)這樣的函數,我可以抓住sketchStarted上的位置,並對sketchEnded事件進行查詢,但到目前爲止,我一直無法找到類似的東西。
我現在不在我的開發箱中,以防萬一有人想知道爲什麼沒有代碼。想要發佈這個工作,但基地網絡有問題顯示登錄頁面(由於ssl我認爲)