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

Method assembleShapes

src/common/overlay/Pie.js:78–187  ·  view source on GitHub ↗

* @function FeatureThemePie.prototype.assembleShapes * @description 装配图形(扩展接口)。

()

Source from the content-addressed store, hash-verified

76 * @description 装配图形(扩展接口)。
77 */
78 assembleShapes() {
79 // 图表配置对象
80 var sets = this.setting;
81
82 // 一个默认 style 组
83 var defaultStyleGroup = [
84 {fillColor: "#ff9277"}, {fillColor: "#dddd00"}, {fillColor: "#ffc877"}, {fillColor: "#bbe3ff"}, {fillColor: "#d5ffbb"},
85 {fillColor: "#bbbbff"}, {fillColor: "#ddb000"}, {fillColor: "#b0dd00"}, {fillColor: "#e2bbff"}, {fillColor: "#ffbbe3"},
86 {fillColor: "#ff7777"}, {fillColor: "#ff9900"}, {fillColor: "#83dd00"}, {fillColor: "#77e3ff"}, {fillColor: "#778fff"},
87 {fillColor: "#c877ff"}, {fillColor: "#ff77ab"}, {fillColor: "#ff6600"}, {fillColor: "#aa8800"}, {fillColor: "#77c7ff"},
88 {fillColor: "#ad77ff"}, {fillColor: "#ff77ff"}, {fillColor: "#dd0083"}, {fillColor: "#777700"}, {fillColor: "#00aa00"},
89 {fillColor: "#0088aa"}, {fillColor: "#8400dd"}, {fillColor: "#aa0088"}, {fillColor: "#dd0000"}, {fillColor: "#772e00"}
90 ];
91
92 // 重要步骤:初始化参数
93 if (!this.initBaseParameter()) {
94 return;
95 }
96
97 // 背景框,默认不启用
98 if (sets.useBackground) {
99 this.shapes.push(ShapeFactory.Background(this.shapeFactory, this.chartBox, sets));
100 }
101
102 // 数据值数组
103 var fv = this.dataValues;
104 if (fv.length < 1) {
105 return;
106 } // 没有数据
107
108 // 值域范围
109 var codomain = this.DVBCodomain;
110 // 值域范围检测
111 for (let i = 0; i < fv.length; i++) {
112 if (fv[i] < codomain[0] || fv[i] > codomain[1]) {
113 return;
114 }
115 }
116
117 // 值的绝对值总和
118 var valueSum = 0;
119 for (let i = 0; i < fv.length; i++) {
120 valueSum += Math.abs(fv[i]);
121 }
122
123 // 重要步骤:定义图表 FeatureThemePie 数据视图框中单位值的含义,单位值:每度代表的数值
124 this.DVBUnitValue = 360 / valueSum;
125 var uv = this.DVBUnitValue;
126
127 var dvbCenter = this.DVBCenterPoint; // 数据视图框中心作为扇心
128
129 var startAngle = 0; // 扇形起始边角度
130 var endAngle = 0; // 扇形终止边角度
131 var startAngleTmp = startAngle; // 扇形临时起始边角度
132 // 扇形(自适应)半径
133 var r = this.DVBHeight < this.DVBWidth ? this.DVBHeight / 2 : this.DVBWidth / 2;
134
135 for (var i = 0; i < fv.length; i++) {

Callers 6

createThematicFeatureMethod · 0.45
createThematicFeatureMethod · 0.45
GraphThemeLayer.jsFile · 0.45
createThematicFeatureMethod · 0.45
createThematicFeatureMethod · 0.45

Calls 6

pushMethod · 0.80
BackgroundMethod · 0.80
ShapeStyleToolMethod · 0.80
createShapeMethod · 0.80
initBaseParameterMethod · 0.45

Tested by

no test coverage detected