MCPcopy Index your code
hub / github.com/SuperMap/iClient-JavaScript / _setLayerID

Method _setLayerID

src/common/mapping/WebMapV2.js:1049–1082  ·  view source on GitHub ↗
(mapInfo)

Source from the content-addressed store, hash-verified

1047 }
1048
1049 _setLayerID(mapInfo) {
1050 const sumInfo = {};
1051 const { baseLayer, layers = [] } = mapInfo;
1052 if (!this.checkSameLayer) {
1053 const baseInfo = this._generateUniqueLayerId({ layerId: baseLayer.name, repeatIndex: 0 });
1054 baseLayer.title = baseLayer.name;
1055 baseLayer.name = baseInfo.newId;
1056 }
1057 const layerNames = layers.map((layer) => layer.name);
1058 const _layers = layers.map((layer, index) => {
1059 if (!(layer.name in sumInfo)) {
1060 sumInfo[layer.name] = baseLayer.name === layer.name ? 1 : 0;
1061 }
1062 const matchFirstIndex = layerNames.indexOf(layer.name);
1063 const matchLastIndex = layerNames.lastIndexOf(layer.name);
1064 if (index > matchFirstIndex && index <= matchLastIndex) {
1065 sumInfo[layer.name] = sumInfo[layer.name] + 1;
1066 }
1067 let layerID = sumInfo[layer.name] ? `${layer.name}-${sumInfo[layer.name]}` : layer.name;
1068 if (!this.checkSameLayer || layer.layerType !== 'raster') {
1069 const { newId, newIndex } = this._generateUniqueLayerId({
1070 layerId: layerID,
1071 repeatIndex: sumInfo[layer.name],
1072 layerType: layer.layerType
1073 });
1074 sumInfo[layer.name] = newIndex;
1075 layerID = newId;
1076 }
1077 return Object.assign(layer, { layerID });
1078 });
1079 mapInfo.layers = _layers;
1080 mapInfo.baseLayer = baseLayer;
1081 return mapInfo;
1082 }
1083
1084 _generateUniqueLayerId(options) {
1085 let { layerId, repeatIndex, layerType } = options;

Callers 1

_handleLayerInfoMethod · 0.95

Calls 3

mapMethod · 0.80
indexOfMethod · 0.80

Tested by

no test coverage detected