2014-11-01 73 views
0

我意識到OpenLayers 3不像OpenLayers 2那樣區分底圖和其他圖層(OL2圖層有isBaseLayer property,但我沒有在OL3中看到相同的圖層)。更新OpenLayers中的底圖3

我猜一定是有方法來設置添加層到地圖在訂貨時...像

map.addLayer(newBasemap, 1); // where all other layers would have an ordering greater than 1 

但是,當我看文檔,我看是addLayer(layer)哪些地方在其他層之上的新層。

如何確保新的(底圖)圖層放置在其他圖層下方而不是頂部?

回答

1

找到了答案here at Christopher Jennison's Blog

原來層可以與下面的一個特定的指數進行補充道:

map.getLayers().insertAt(1, layer); 

在我來說,在我更換的是已經存在的,我需要先刪除basemap1,然後在添加basemap2底圖它的地方,我可以這樣做:

map.removeLayer(basemap1); 
map.getLayers().insertAt(1, basemap2); 

好哇

UPDATE:

感謝erilem提供一個更簡單的解決方案,setAt,它只是一個給定的索引處替換層...

map.getLayers().setAt(1, basemap2); 
+1

請注意,您可以用'map.getLayers()。setAt(索引層) '用一個新的索引替換給定索引處的圖層。 – erilem 2014-11-06 20:41:45