Openlayers 3 在OpenLayers 3中更新底图
我感觉到OpenLayers 3没有像OpenLayers 2那样区分底图和其他层(OL2层有一个,但我在OL3中没有看到一个等价物) 我猜在向地图添加图层时,一定有某种方法可以设置顺序…类似于Openlayers 3 在OpenLayers 3中更新底图,openlayers-3,Openlayers 3,我感觉到OpenLayers 3没有像OpenLayers 2那样区分底图和其他层(OL2层有一个,但我在OL3中没有看到一个等价物) 我猜在向地图添加图层时,一定有某种方法可以设置顺序…类似于 map.addLayer(newBasemap, 1); // where all other layers would have an ordering greater than 1 但是当我查看文档时,我看到的只是将新层放在其他层的顶部 如何确保新的(底图)图层位于其他图层的下方而不是顶部?找到
map.addLayer(newBasemap, 1); // where all other layers would have an ordering greater than 1
但是当我查看文档时,我看到的只是将新层放在其他层的顶部
如何确保新的(底图)图层位于其他图层的下方而不是顶部?找到了答案
结果表明,可以使用以下方法在特定索引处添加图层:
map.getLayers().insertAt(1, layer);
在我替换已有的basemap的情况下,我需要首先删除basemap1,然后在其位置添加basemap2,我可以这样做:
map.removeLayer(basemap1);
map.getLayers().insertAt(1, basemap2);
胡扎
更新:
由于提供了一个更直观的解决方案,setAt
,它只需替换给定索引处的层
map.getLayers().setAt(1, basemap2);
找到了答案
结果表明,可以使用以下方法在特定索引处添加图层:
map.getLayers().insertAt(1, layer);
在我替换已有的basemap的情况下,我需要首先删除basemap1,然后在其位置添加basemap2,我可以这样做:
map.removeLayer(basemap1);
map.getLayers().insertAt(1, basemap2);
胡扎
更新:
由于提供了一个更直观的解决方案,setAt
,它只需替换给定索引处的层
map.getLayers().setAt(1, basemap2);
请注意,您可以使用
map.getLayers().setAt(索引,层)
将给定索引处的层替换为新层。请注意,您可以使用map.getLayers().setAt(索引,层)
将给定索引处的层替换为新层。