动态图层的setVisibleLayers不起作用?

我利用ArcGIS Server发布了已启用动态图层功能的地图服务,其中有三个图层。我想只显示第二个图层,使用如下代码,web端没有反应。
var urlDyn = "http://localhost:6080/arcgis/r ... 3B%3B
var usaLayer = new ArcGISDynamicMapServiceLayer(urlDyn, {
opacity: 0.7,
visible: false
});
usaLayer.setVisibleLayers([1]);
map.addLayer(usaLayer);
但使用如下代码的时候(即将visible的设置注释掉),web端出现了服务中最上面的一个图层。
var urlDyn = "http://localhost:6080/arcgis/r ... 3B%3B
var usaLayer = new ArcGISDynamicMapServiceLayer(urlDyn, {
opacity: 1,
// visible: false
});
//usaLayer.setVisibleLayers([0]);
map.addLayer(usaLayer);

下图是我的服务器端截图,动态图层功能已开启。请问这是什么原因呢?是我地图服务发布的问题吗?

QQ图片20170208171759.png


QQ图片20170208171809.png

 
已邀请:

徐鸿至

赞同来自: 张宝才

直接
             layer = new ArcGISDynamicMapServiceLayer("url");
layer.setVisibleLayers([1]);
map.addLayer(layer);

地图服务的 构造函数不要加其他 参数, 你visible设置为false,当然看不到图层了

马克玲

赞同来自:

图层可见性控制,并非是动态图层的功能。任何一个动态地图服务(没有创建缓存)都可以进行图层的可见性控制。我建议你可以在rest服务目录中通过Export Map来测试下,是否可以控制只显示第二个图层。

要回复问题请先登录注册