首页 / 浏览问题 / 云GIS / 问题详情
加了多个地图和多个动态绘制图层,怎么控制这些图层的显示顺序
4EXP 2018年11月01日

在项目中加了多个地图和多个动态绘制图层,怎么控制这些图层的显示顺序。

这是加载地图的方法:

var url = getURL().iServerUrl+"iserver/services/map-new424/rest/maps/"+ls.hostName;
   
layer = L.supermap.tiledMapLayer(url, {
       
crs:L.CRS.EPSG4326,
       
transparent: true,
        opacity: 1.0
   
}).addTo(map);

动态图用:L.geoJSON

1个回答

您好,您可以查看https://leafletjs.com/reference-1.3.4.html,根据上图红色框内的内容来调整顺序

6,215EXP 2018年11月01日
我还需要控制这些图层的显示隐藏,用这个方法不行吧。我用layer·removeFrom()方法隐藏,之后,在later.addTo(map),图层顺序又乱了

您好,你可以通过官网的示例程序来获取帮助。里面有一个图层切换的控件使用方法
http://iclient.supermap.io/examples/leaflet/editor.html#controler_layerswitcher

我用的

layer.setZIndex(index);

来控制图层的顺序。切片地图可以用这个方法来控制顺序。但动态图层用这个方法设置后,不可以。

动态图层一直在切片地图之上显示,怎么把动态图层调到切片地图下面。

您用的是什么图层?您可以在leaflet中API中查看一下您用的图层有没有相应的属性
您一开始的回复是否经过测试?因为我在改变map._layers[]内图层的顺序时(如例:

var aba = map._layers[53];
var cbc = map._layers[27];
map._layers[53] = cbc;
map._layers[27] = aba;

),发现图层的显示顺序并未改变,但map._layers[]内交换的两个图层的确是交换了位置。

所以还有没有什么方法可以控制图层的显示顺序?
你好,请问这个问题解决了吗
...