ArcGIS API ArcGISDynamicMapServiceLayer.setVisibleLayers对带有GroupLayer图层组的数据无效(针对LayerInfo)问题探讨

时间:2023-03-09 19:32:46
ArcGIS API ArcGISDynamicMapServiceLayer.setVisibleLayers对带有GroupLayer图层组的数据无效(针对LayerInfo)问题探讨

首先看下setVisibleLayers方法:

setVisibleLayers(ids, doNotRefresh?)
Sets the visible layers of the exported map. By default, the visible layers are as defined by the default visibility in LayerInfo.
To display no visible layers specify an array with a value of -1. if(visible.length === 0){
visible.push(-1);
}
layer.setVisibleLayers(visible);

经过测试,JS开发中,setVisibleLayers对带有图层组的要素无法直接操作。

例如:

aaarticlea/png;base64,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" alt="" />在加载后 对图层 LayerInfo(红圈,为GroupLayer)进行show/hide,无法正常操作。

解决方法1:

  发布图层时不要增加图层组(GroupLayer),所有图层都在一层之下,发布后调用即可正常使用;

aaarticlea/png;base64,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" alt="" />

解决方法2:

  第一种解决方法需把所有数据放同一层,不设置图层组,可针对简单数据,但数据繁多需要分组时,就需要考虑分组问题,GroupLayer本身在JS API加载后也是LayerInfo,

思路是:把VisibleLayer里面的图层组都删掉,再调用setVisibleLayers(visibleLayer)。

 function getVisibleLayers(layer, subLayerIndex) {
require(["dojo/_base/array"],function(array) {
var layerInfos = layer.layerInfos;
var i;
// array for setting visible layers
var visibleLayers = [-1]; if (typeof subLayerIndex !== "undefined") {
var newVis = !layerInfos[subLayerIndex].defaultVisibility;
// reverse current visibility of sublayer
layerInfos[subLayerIndex].defaultVisibility = newVis;
} // for each sublayer
for (i = 0; i < layerInfos.length; i++) {
var info = layerInfos[i];
// push to visible layers if it's visible
if (info.defaultVisibility) {
visibleLayers.push(info.id);
var negative = array.lastIndexOf(visibleLayers, -1);
if (negative !== -1) {
visibleLayers.splice(negative, 1);
}
}
}
//Now that the array of visibleLayer Ids is assembled,说明:此处即是对GroupLayer进行处理
//strip off Ids of invisible child layers, and
//Ids of group layers (group layer Ids should not be submitted
//in .setVisible() or loss of toggle control madness ensues.
//Remove layers whos parents are not visible:
var noInvisibleParents = [];
for (i = 0; i < visibleLayers.length; i++) {
var id = visibleLayers[i];
var hasParentsInVisibleArray = this._allIdsPresent(layer, id, visibleLayers);
if (hasParentsInVisibleArray) {
noInvisibleParents.push(id);
}
}
var noGroups = [];
for (var j = 0; j < noInvisibleParents.length; j++) {
var lyrInfo = this._getLayerInfo(layer, noInvisibleParents[j]);
if (lyrInfo && lyrInfo.subLayerIds === null) {
noGroups.push(noInvisibleParents[j]);
}
}
// note: set -1 if array is empty.
if (!noGroups.length) {
noGroups = [-1];
}
return noGroups;
});
}

  代码略显复杂,不过对于自定义图层操作可做参考。

  注:参考ArcGIS JS API的LayerList源码