MCPcopy Create free account
hub / github.com/SuperMap/iClient-JavaScript / _createLegendInfo

Method _createLegendInfo

src/common/mapping/WebMapV3.js:777–814  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

775 }
776
777 _createLegendInfo() {
778 const { catalogs = [] } = this._mapResourceInfo;
779 const originLayers = getLayerInfosFromCatalogs(catalogs, 'catalogType');
780 for (const layer of originLayers) {
781 const { renderer, label } = layer.visualization || {};
782 if (!renderer) {
783 continue;
784 }
785 const layerFromMapInfo = getMainLayerFromCatalog(layer.layersContent, layer.id, this._mapInfo.layers);
786 let themeField;
787 const sourceInfo = this._mapInfo.sources[layerFromMapInfo.source];
788 if ('clusterField' in sourceInfo) {
789 themeField = sourceInfo.clusterField;
790 }
791 const nextLayer = Object.assign({}, layerFromMapInfo, { title: layer.title, themeField });
792 const styleSettings = this._parseRendererStyleData(renderer);
793 // 线面文本标签
794 if (label) {
795 styleSettings.push({...label, type: 'text'});
796 if (label.symbolsContent && label.symbolsContent.value.symbolId) {
797 styleSettings.push({...label, type: 'symbol'});
798 }
799 }
800 // 点文本标签
801 if (styleSettings[0].textField && styleSettings[0].textField.value) {
802 styleSettings.push({
803 ...styleSettings[0],
804 type: 'text'
805 });
806 }
807 const layerLegends = styleSettings.reduce((legends, styleSetting) => {
808 const legendItems = this._createLayerLegendList(nextLayer, styleSetting);
809 legendItems && legends.push(...legendItems);
810 return legends;
811 }, []);
812 this._legendList.push(...layerLegends);
813 }
814 }
815
816 _getAliasKey(renderType, key) {
817 if (renderType === 'isoline3D' && key === 'dashArray') {

Callers 1

_addLayersToMapMethod · 0.95

Calls 5

getMainLayerFromCatalogFunction · 0.90
pushMethod · 0.80

Tested by

no test coverage detected