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

Method assembleShapes

src/common/overlay/Ring.js:84–197  ·  view source on GitHub ↗

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

()

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 6

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

Tested by

no test coverage detected