@@ -2884,9 +2884,9 @@ var ServerGeometry = function () {
28842884 return new _LineString2.default(pointList);
28852885 }
28862886 } else {
2887- var _pointList = [],
2888- lineList = [];
2887+ var lineList = [];
28892888 for (var _i = 0; _i < len; _i++) {
2889+ var _pointList = [];
28902890 for (var j = 0; j < geoParts[_i]; j++) {
28912891 _pointList.push(new _Point2.default(geoPoints[j].x, geoPoints[j].y));
28922892 }
@@ -22860,96 +22860,92 @@ var StyleUtils = function () {
2286022860 var obj = _StyleMap.StyleMap.ServerStyleMap[attr];
2286122861 var canvasStyle = obj.canvasStyle;
2286222862 if (canvasStyle && canvasStyle != "") {
22863+ var value;
2286322864 switch (obj.type) {
2286422865 case "number":
22865- {
22866- var value = shader[attr];
22867- if (obj.unit) {
22868- //将单位转换为像素单位
22869- value = value * _SuperMap2.default.DOTS_PER_INCH * _SuperMap2.default.INCHES_PER_UNIT[obj.unit] * 2.5;
22870- }
22871- style[canvasStyle] = value;
22872- break;
22866+ value = shader[attr];
22867+ if (obj.unit) {
22868+ //将单位转换为像素单位
22869+ value = value * _SuperMap2.default.DOTS_PER_INCH * _SuperMap2.default.INCHES_PER_UNIT[obj.unit] * 2.5;
2287322870 }
22871+ style[canvasStyle] = value;
22872+ break;
2287422873 case "color":
22875- {
22876- var color = shader[attr];
22877- var backColor = shader["fillBackColor"];
22878- var _value = void 0,
22879- alpha = 1;
22880- if (canvasStyle === "fillStyle") {
22881- if (fillSymbolID === 0 || fillSymbolID === 1) {
22882- //当fillSymbolID为0时,用颜色填充,为1是无填充,即为透明填充,alpha通道为0
22883- alpha = 1 - fillSymbolID;
22884- _value = "rgba(" + color.red + "," + color.green + "," + color.blue + "," + alpha + ")";
22885- } else {
22886- //当fillSymbolID为2~7时,用的纹理填充,但要按照前景色修改其颜色
22887- try {
22888- var tempCvs = document.createElement("canvas");
22889- tempCvs.height = 8;
22890- tempCvs.width = 8;
22891- var tempCtx = tempCvs.getContext("2d");
22892- var image = new Image();
22893- if (this.layer && this.layer.fillImages) {
22894- tempCtx.drawImage(this.layer.fillImages["System " + fillSymbolID], 0, 0);
22895- }
22896- var imageData = tempCtx.getImageData(0, 0, tempCvs.width, tempCvs.height);
22897- var pix = imageData.data;
22898- for (var i = 0, len = pix.length; i < len; i += 4) {
22899- var r = pix[i],
22900- g = pix[i + 1],
22901- b = pix[i + 2];
22902- //将符号图片中的灰色或者黑色的部分替换为前景色,其余为后景色
22903- if (r < 225 && g < 225 && b < 225) {
22904- pix[i] = color.red;
22905- pix[i + 1] = color.green;
22906- pix[i + 2] = color.blue;
22907- } else if (backColor) {
22908- pix[i] = backColor.red;
22909- pix[i + 1] = backColor.green;
22910- pix[i + 2] = backColor.blue;
22911- }
22874+ var color = shader[attr];
22875+ var backColor = shader["fillBackColor"];
22876+ var alpha = 1;
22877+ if (canvasStyle === "fillStyle") {
22878+ if (fillSymbolID === 0 || fillSymbolID === 1) {
22879+ //当fillSymbolID为0时,用颜色填充,为1是无填充,即为透明填充,alpha通道为0
22880+ alpha = 1 - fillSymbolID;
22881+ value = "rgba(" + color.red + "," + color.green + "," + color.blue + "," + alpha + ")";
22882+ } else {
22883+ //当fillSymbolID为2~7时,用的纹理填充,但要按照前景色修改其颜色
22884+ try {
22885+ var tempCvs = document.createElement("canvas");
22886+ tempCvs.height = 8;
22887+ tempCvs.width = 8;
22888+ var tempCtx = tempCvs.getContext("2d");
22889+ var image = new Image();
22890+ if (this.layer && this.layer.fillImages) {
22891+ tempCtx.drawImage(this.layer.fillImages["System " + fillSymbolID], 0, 0);
22892+ }
22893+ var imageData = tempCtx.getImageData(0, 0, tempCvs.width, tempCvs.height);
22894+ var pix = imageData.data;
22895+ for (var i = 0, len = pix.length; i < len; i += 4) {
22896+ var r = pix[i],
22897+ g = pix[i + 1],
22898+ b = pix[i + 2];
22899+ //将符号图片中的灰色或者黑色的部分替换为前景色,其余为后景色
22900+ if (r < 225 && g < 225 && b < 225) {
22901+ pix[i] = color.red;
22902+ pix[i + 1] = color.green;
22903+ pix[i + 2] = color.blue;
22904+ } else if (backColor) {
22905+ pix[i] = backColor.red;
22906+ pix[i + 1] = backColor.green;
22907+ pix[i + 2] = backColor.blue;
2291222908 }
22913- tempCtx.putImageData(imageData, 0, 0);
22914- image.src = tempCvs.toDataURL();
22909+ }
22910+ tempCtx.putImageData(imageData, 0, 0);
22911+ image.src = tempCvs.toDataURL();
2291522912
22916- if (this.context) {
22917- _value = this.context.createPattern(image, "repeat");
22918- }
22919- } catch (e) {
22920- throw Error(e.message);
22913+ if (this.context) {
22914+ value = this.context.createPattern(image, "repeat");
2292122915 }
22916+ } catch (e) {
22917+ throw Error(e.message);
2292222918 }
22923- } else if (canvasStyle === "strokeStyle") {
22924- if (lineSymbolID === 0 || lineSymbolID === 5) {
22925- //对于lineSymbolID为0时,线为实线,为lineSymbolID为5时,为无线模式,即线为透明,即alpha通道为0
22926- alpha = lineSymbolID === 0 ? 1 : 0;
22927- } else {
22928- //以下几种linePattern分别模拟了桌面的SymbolID为1~4几种符号的linePattern
22929- var linePattern = [1, 0];
22930- switch (lineSymbolID) {
22931- case 1:
22932- linePattern = [9.7, 3.7];
22933- break;
22934- case 2:
22935- linePattern = [3.7, 3.7];
22936- break;
22937- case 3:
22938- linePattern = [9.7, 3.7, 2.3, 3.7];
22939- break;
22940- case 4:
22941- linePattern = [9.7, 3.7, 2.3, 3.7, 2.3, 3.7];
22942- break;
22943- default:
22944- break;
22945- }
22946- style.lineDasharray = linePattern;
22919+ }
22920+ } else if (canvasStyle === "strokeStyle") {
22921+ if (lineSymbolID === 0 || lineSymbolID === 5) {
22922+ //对于lineSymbolID为0时,线为实线,为lineSymbolID为5时,为无线模式,即线为透明,即alpha通道为0
22923+ alpha = lineSymbolID === 0 ? 1 : 0;
22924+ } else {
22925+ //以下几种linePattern分别模拟了桌面的SymbolID为1~4几种符号的linePattern
22926+ var linePattern = [1, 0];
22927+ switch (lineSymbolID) {
22928+ case 1:
22929+ linePattern = [9.7, 3.7];
22930+ break;
22931+ case 2:
22932+ linePattern = [3.7, 3.7];
22933+ break;
22934+ case 3:
22935+ linePattern = [9.7, 3.7, 2.3, 3.7];
22936+ break;
22937+ case 4:
22938+ linePattern = [9.7, 3.7, 2.3, 3.7, 2.3, 3.7];
22939+ break;
22940+ default:
22941+ break;
2294722942 }
22948- _value = "rgba(" + color.red + "," + color.green + "," + color.blue + "," + alpha + ")" ;
22943+ style.lineDasharray = linePattern ;
2294922944 }
22950- style[canvasStyle] = _value;
22951- break;
22945+ value = "rgba(" + color.red + "," + color.green + "," + color.blue + "," + alpha + ")";
2295222946 }
22947+ style[canvasStyle] = value;
22948+ break;
2295322949 default:
2295422950 break;
2295522951
0 commit comments