9d openlayer 分别加载服务子图层问题

0 投票
254 浏览

function layerService() {

var ul = 'http://192.168.0.118:8090/iserver/services/map-ChangSha_ZHGL/rest/maps/ZHGL';

new ol.supermap.LayerInfoService(ul).getLayersInfo(function (serviceResult) {

serviceResult.result.subLayers.layers.map((layer)=>{

if (layer.name === 'XB_P@GuanLang') {

layer.visible = 'false'

}

});

var xx = serviceResult.result

var layersInfo = new SuperMap.SetLayersInfoParameters({

isTempLayers: false,

layersInfo: xx,

});

new ol.supermap.LayerInfoService(ul).setLayersInfo(layersInfo, function (res) {

// console.log(1);

console.log(res.result.newResourceID);

var layertest = [

new ol.layer.Tile({ //管廊底图

source: new ol.source.TileSuperMapRest({

url: ul,

layersID :res.result.newResourceID,

wrapX: true

}),

projection: 'EPSG:3857'

}),

];

map.addLayer(layertest);

});

});

}

我把服务的其中一个子图层  'XB_P@GuanLang'  设置了不可见,然后请问我怎么把设置后的信息同步到页面上,简单说就是:用Openlayer  怎么选筛选图层

就像右侧那样的操作  ,谢谢大家了!

最新提问 4月 17 分类:  254次浏览 | 用户: 9d_openlayers (0 分)
重新分类 4月 17 用户:root

1个回答

0 投票
您好,还是没太明白您什么意思,如果是想要图层不可见但是信息还在地图上的话或者地图里压根就没这图层但是想要这个图层的信息的话,就发个数据服务。
最新回答 4月 18 用户: 李熙y 名扬四海 (4,373 分)
请问数据服务怎么发,哪里有相关的实例可以学习呢  谢谢

发布服务的具体方式请参考帮助文档

...