首页 / 浏览问题 / 云GIS / 问题详情
iClient Openlayers如何修改图层的排列顺序
250EXP 2022年03月14日
目前在地图中添加了复数的图层,接下来想要实现变更图层在地图中的排列顺序,请问应该如何实现。

1个回答

您好,图层的显示顺序可以通过zIndex参数设置

3,143EXP 2022年03月14日
您好,使用z-index的话,如果不为每一个图层都设置的话,就会导致设置了z-index的图层的显示永远在其他图层的上方。

目前想要实现的直接修改map.getLayers()里面的图层的排列顺序。

比如说,想要修改某个图层的内容,就先获得他在图层组里的编号,然后删除图层,将修改后的图层通过map.getLayers().insertAt(index, newLayer)插入原本的位置

想要请问一下,有没有办法能够不使用z-index,直接修改图层组里的图层的位置,比如将map.getLayers()里的一个图层移动到另一个图层前面或后面
我测试了一下把需要调整的两个图层都removeAt,然后用insertAt把两个图层重新加载到对应的顺序是可以的。
除上述方法以外还可以使用setZIndex方法动态的为图层设置Z 索引。用map.getLayers()获取图层列表,获取后动态设置需要更改图层顺序的Z索引,然后再重新渲染地图。
感谢解答,已解决
...