Skip to content

Commit e6b0631

Browse files
committed
fix 标签专题图若干问题
1 parent fef72c9 commit e6b0631

File tree

9 files changed

+90
-78
lines changed

9 files changed

+90
-78
lines changed

dist/iclient9-leaflet.js

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21010,40 +21010,42 @@ var LabelThemeLayer = exports.LabelThemeLayer = _GeoFeatureThemeLayer.GeoFeature
2101021010
canvas.globalAlpha = 0;
2101121011
canvas.lineWidth = 1;
2101221012

21013-
canvas.fillStyle = style.fontColor;
21014-
canvas.globalAlpha = style.fontOpacity || 1.0;
21013+
var ctx = canvas.getContext("2d");
21014+
21015+
ctx.fillStyle = style.fontColor;
21016+
ctx.globalAlpha = style.fontOpacity || 1.0;
2101521017
var fontStyle = [style.fontStyle ? style.fontStyle : "normal", "normal", style.fontWeight ? style.fontWeight : "normal", style.fontSize ? style.fontSize : "1em", style.fontFamily ? style.fontFamily : "sans-serif"].join(" ");
2101621018
var labelRows = style.label.split('\n');
2101721019
var numRows = labelRows.length;
2101821020
var vfactor, lineHeight, labelWidthTmp;
21019-
if (canvas.fillText) {
21021+
if (ctx.fillText) {
2102021022
// HTML5
21021-
canvas.font = fontStyle;
21022-
canvas.textAlign = LABEL_ALIGN[style.labelAlign[0]] || "center";
21023-
canvas.textBaseline = LABEL_ALIGN[style.labelAlign[1]] || "middle";
21023+
ctx.font = fontStyle;
21024+
ctx.textAlign = LABEL_ALIGN[style.labelAlign[0]] || "center";
21025+
ctx.textBaseline = LABEL_ALIGN[style.labelAlign[1]] || "middle";
2102421026
vfactor = LABEL_FACTOR[style.labelAlign[1]];
2102521027
if (vfactor == null) {
2102621028
vfactor = -.5;
2102721029
}
21028-
lineHeight = canvas.measureText('Mg').height || canvas.measureText('xx').width;
21030+
lineHeight = ctx.measureText('Mg').height || ctx.measureText('xx').width;
2102921031
pt[1] += lineHeight * vfactor * (numRows - 1);
2103021032
for (var i = 0; i < numRows; i++) {
21031-
labelWidthTmp = canvas.measureText(labelRows[i]).width;
21033+
labelWidthTmp = ctx.measureText(labelRows[i]).width;
2103221034
if (labelWidth < labelWidthTmp) {
2103321035
labelWidth = labelWidthTmp;
2103421036
}
2103521037
}
21036-
} else if (canvas.mozDrawText) {
21038+
} else if (ctx.mozDrawText) {
2103721039
// Mozilla pre-Gecko1.9.1 (<FF3.1)
21038-
canvas.mozTextStyle = fontStyle;
21040+
ctx.mozTextStyle = fontStyle;
2103921041
vfactor = LABEL_FACTOR[style.labelAlign[1]];
2104021042
if (vfactor == null) {
2104121043
vfactor = -.5;
2104221044
}
21043-
lineHeight = canvas.mozMeasureText('xx');
21045+
lineHeight = ctx.mozMeasureText('xx');
2104421046
pt[1] += lineHeight * (1 + vfactor * numRows);
2104521047
for (var _i = 0; _i < numRows; _i++) {
21046-
labelWidthTmp = canvas.measureText(labelRows[_i]).width;
21048+
labelWidthTmp = ctx.measureText(labelRows[_i]).width;
2104721049
if (labelWidth < labelWidthTmp) {
2104821050
labelWidth = labelWidthTmp;
2104921051
}

dist/iclient9-leaflet.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/iclient9-mapboxgl.js

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -26127,40 +26127,42 @@ var Label = function (_GeoFeature) {
2612726127
canvas.globalAlpha = 0;
2612826128
canvas.lineWidth = 1;
2612926129

26130-
canvas.fillStyle = style.fontColor;
26131-
canvas.globalAlpha = style.fontOpacity || 1.0;
26130+
var ctx = canvas.getContext("2d");
26131+
26132+
ctx.fillStyle = style.fontColor;
26133+
ctx.globalAlpha = style.fontOpacity || 1.0;
2613226134
var fontStyle = [style.fontStyle ? style.fontStyle : "normal", "normal", style.fontWeight ? style.fontWeight : "normal", style.fontSize ? style.fontSize : "1em", style.fontFamily ? style.fontFamily : "sans-serif"].join(" ");
2613326135
var labelRows = style.label.split('\n');
2613426136
var numRows = labelRows.length;
2613526137
var vfactor, lineHeight, labelWidthTmp;
26136-
if (canvas.fillText) {
26138+
if (ctx.fillText) {
2613726139
// HTML5
26138-
canvas.font = fontStyle;
26139-
canvas.textAlign = LABEL_ALIGN[style.labelAlign[0]] || "center";
26140-
canvas.textBaseline = LABEL_ALIGN[style.labelAlign[1]] || "middle";
26140+
ctx.font = fontStyle;
26141+
ctx.textAlign = LABEL_ALIGN[style.labelAlign[0]] || "center";
26142+
ctx.textBaseline = LABEL_ALIGN[style.labelAlign[1]] || "middle";
2614126143
vfactor = LABEL_FACTOR[style.labelAlign[1]];
2614226144
if (vfactor == null) {
2614326145
vfactor = -.5;
2614426146
}
26145-
lineHeight = canvas.measureText('Mg').height || canvas.measureText('xx').width;
26147+
lineHeight = ctx.measureText('Mg').height || ctx.measureText('xx').width;
2614626148
pt[1] += lineHeight * vfactor * (numRows - 1);
2614726149
for (var i = 0; i < numRows; i++) {
26148-
labelWidthTmp = canvas.measureText(labelRows[i]).width;
26150+
labelWidthTmp = ctx.measureText(labelRows[i]).width;
2614926151
if (labelWidth < labelWidthTmp) {
2615026152
labelWidth = labelWidthTmp;
2615126153
}
2615226154
}
26153-
} else if (canvas.mozDrawText) {
26155+
} else if (ctx.mozDrawText) {
2615426156
// Mozilla pre-Gecko1.9.1 (<FF3.1)
26155-
canvas.mozTextStyle = fontStyle;
26157+
ctx.mozTextStyle = fontStyle;
2615626158
vfactor = LABEL_FACTOR[style.labelAlign[1]];
2615726159
if (vfactor == null) {
2615826160
vfactor = -.5;
2615926161
}
26160-
lineHeight = canvas.mozMeasureText('xx');
26162+
lineHeight = ctx.mozMeasureText('xx');
2616126163
pt[1] += lineHeight * (1 + vfactor * numRows);
2616226164
for (var _i = 0; _i < numRows; _i++) {
26163-
labelWidthTmp = canvas.measureText(labelRows[_i]).width;
26165+
labelWidthTmp = ctx.measureText(labelRows[_i]).width;
2616426166
if (labelWidth < labelWidthTmp) {
2616526167
labelWidth = labelWidthTmp;
2616626168
}

dist/iclient9-mapboxgl.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/iclient9-openlayers.js

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21240,40 +21240,42 @@ var Label = function (_GeoFeature) {
2124021240
canvas.globalAlpha = 0;
2124121241
canvas.lineWidth = 1;
2124221242

21243-
canvas.fillStyle = style.fontColor;
21244-
canvas.globalAlpha = style.fontOpacity || 1.0;
21243+
var ctx = canvas.getContext("2d");
21244+
21245+
ctx.fillStyle = style.fontColor;
21246+
ctx.globalAlpha = style.fontOpacity || 1.0;
2124521247
var fontStyle = [style.fontStyle ? style.fontStyle : "normal", "normal", style.fontWeight ? style.fontWeight : "normal", style.fontSize ? style.fontSize : "1em", style.fontFamily ? style.fontFamily : "sans-serif"].join(" ");
2124621248
var labelRows = style.label.split('\n');
2124721249
var numRows = labelRows.length;
2124821250
var vfactor, lineHeight, labelWidthTmp;
21249-
if (canvas.fillText) {
21251+
if (ctx.fillText) {
2125021252
// HTML5
21251-
canvas.font = fontStyle;
21252-
canvas.textAlign = LABEL_ALIGN[style.labelAlign[0]] || "center";
21253-
canvas.textBaseline = LABEL_ALIGN[style.labelAlign[1]] || "middle";
21253+
ctx.font = fontStyle;
21254+
ctx.textAlign = LABEL_ALIGN[style.labelAlign[0]] || "center";
21255+
ctx.textBaseline = LABEL_ALIGN[style.labelAlign[1]] || "middle";
2125421256
vfactor = LABEL_FACTOR[style.labelAlign[1]];
2125521257
if (vfactor == null) {
2125621258
vfactor = -.5;
2125721259
}
21258-
lineHeight = canvas.measureText('Mg').height || canvas.measureText('xx').width;
21260+
lineHeight = ctx.measureText('Mg').height || ctx.measureText('xx').width;
2125921261
pt[1] += lineHeight * vfactor * (numRows - 1);
2126021262
for (var i = 0; i < numRows; i++) {
21261-
labelWidthTmp = canvas.measureText(labelRows[i]).width;
21263+
labelWidthTmp = ctx.measureText(labelRows[i]).width;
2126221264
if (labelWidth < labelWidthTmp) {
2126321265
labelWidth = labelWidthTmp;
2126421266
}
2126521267
}
21266-
} else if (canvas.mozDrawText) {
21268+
} else if (ctx.mozDrawText) {
2126721269
// Mozilla pre-Gecko1.9.1 (<FF3.1)
21268-
canvas.mozTextStyle = fontStyle;
21270+
ctx.mozTextStyle = fontStyle;
2126921271
vfactor = LABEL_FACTOR[style.labelAlign[1]];
2127021272
if (vfactor == null) {
2127121273
vfactor = -.5;
2127221274
}
21273-
lineHeight = canvas.mozMeasureText('xx');
21275+
lineHeight = ctx.mozMeasureText('xx');
2127421276
pt[1] += lineHeight * (1 + vfactor * numRows);
2127521277
for (var _i = 0; _i < numRows; _i++) {
21276-
labelWidthTmp = canvas.measureText(labelRows[_i]).width;
21278+
labelWidthTmp = ctx.measureText(labelRows[_i]).width;
2127721279
if (labelWidth < labelWidthTmp) {
2127821280
labelWidth = labelWidthTmp;
2127921281
}

dist/iclient9-openlayers.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/leaflet/overlay/LabelThemeLayer.js

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -585,8 +585,10 @@ export var LabelThemeLayer = GeoFeatureThemeLayer.extend({
585585
canvas.globalAlpha = 0;
586586
canvas.lineWidth = 1;
587587

588-
canvas.fillStyle = style.fontColor;
589-
canvas.globalAlpha = style.fontOpacity || 1.0;
588+
var ctx = canvas.getContext("2d");
589+
590+
ctx.fillStyle = style.fontColor;
591+
ctx.globalAlpha = style.fontOpacity || 1.0;
590592
var fontStyle = [style.fontStyle ? style.fontStyle : "normal",
591593
"normal",
592594
style.fontWeight ? style.fontWeight : "normal",
@@ -595,37 +597,37 @@ export var LabelThemeLayer = GeoFeatureThemeLayer.extend({
595597
var labelRows = style.label.split('\n');
596598
var numRows = labelRows.length;
597599
var vfactor, lineHeight, labelWidthTmp;
598-
if (canvas.fillText) {
600+
if (ctx.fillText) {
599601
// HTML5
600-
canvas.font = fontStyle;
601-
canvas.textAlign = LABEL_ALIGN[style.labelAlign[0]] ||
602+
ctx.font = fontStyle;
603+
ctx.textAlign = LABEL_ALIGN[style.labelAlign[0]] ||
602604
"center";
603-
canvas.textBaseline = LABEL_ALIGN[style.labelAlign[1]] ||
605+
ctx.textBaseline = LABEL_ALIGN[style.labelAlign[1]] ||
604606
"middle";
605607
vfactor = LABEL_FACTOR[style.labelAlign[1]];
606608
if (vfactor == null) {
607609
vfactor = -.5;
608610
}
609-
lineHeight = canvas.measureText('Mg').height ||
610-
canvas.measureText('xx').width;
611+
lineHeight = ctx.measureText('Mg').height ||
612+
ctx.measureText('xx').width;
611613
pt[1] += lineHeight * vfactor * (numRows - 1);
612614
for (let i = 0; i < numRows; i++) {
613-
labelWidthTmp = canvas.measureText(labelRows[i]).width;
615+
labelWidthTmp = ctx.measureText(labelRows[i]).width;
614616
if (labelWidth < labelWidthTmp) {
615617
labelWidth = labelWidthTmp;
616618
}
617619
}
618-
} else if (canvas.mozDrawText) {
620+
} else if (ctx.mozDrawText) {
619621
// Mozilla pre-Gecko1.9.1 (<FF3.1)
620-
canvas.mozTextStyle = fontStyle;
622+
ctx.mozTextStyle = fontStyle;
621623
vfactor = LABEL_FACTOR[style.labelAlign[1]];
622624
if (vfactor == null) {
623625
vfactor = -.5;
624626
}
625-
lineHeight = canvas.mozMeasureText('xx');
627+
lineHeight = ctx.mozMeasureText('xx');
626628
pt[1] += lineHeight * (1 + (vfactor * numRows));
627629
for (let i = 0; i < numRows; i++) {
628-
labelWidthTmp = canvas.measureText(labelRows[i]).width;
630+
labelWidthTmp = ctx.measureText(labelRows[i]).width;
629631
if (labelWidth < labelWidthTmp) {
630632
labelWidth = labelWidthTmp;
631633
}

src/mapboxgl/overlay/LabelThemeLayer.js

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -620,8 +620,10 @@ export default class Label extends GeoFeature {
620620
canvas.globalAlpha = 0;
621621
canvas.lineWidth = 1;
622622

623-
canvas.fillStyle = style.fontColor;
624-
canvas.globalAlpha = style.fontOpacity || 1.0;
623+
var ctx = canvas.getContext("2d");
624+
625+
ctx.fillStyle = style.fontColor;
626+
ctx.globalAlpha = style.fontOpacity || 1.0;
625627
var fontStyle = [style.fontStyle ? style.fontStyle : "normal",
626628
"normal",
627629
style.fontWeight ? style.fontWeight : "normal",
@@ -630,37 +632,37 @@ export default class Label extends GeoFeature {
630632
var labelRows = style.label.split('\n');
631633
var numRows = labelRows.length;
632634
var vfactor, lineHeight, labelWidthTmp;
633-
if (canvas.fillText) {
635+
if (ctx.fillText) {
634636
// HTML5
635-
canvas.font = fontStyle;
636-
canvas.textAlign = LABEL_ALIGN[style.labelAlign[0]] ||
637+
ctx.font = fontStyle;
638+
ctx.textAlign = LABEL_ALIGN[style.labelAlign[0]] ||
637639
"center";
638-
canvas.textBaseline = LABEL_ALIGN[style.labelAlign[1]] ||
640+
ctx.textBaseline = LABEL_ALIGN[style.labelAlign[1]] ||
639641
"middle";
640642
vfactor = LABEL_FACTOR[style.labelAlign[1]];
641643
if (vfactor == null) {
642644
vfactor = -.5;
643645
}
644-
lineHeight = canvas.measureText('Mg').height ||
645-
canvas.measureText('xx').width;
646+
lineHeight = ctx.measureText('Mg').height ||
647+
ctx.measureText('xx').width;
646648
pt[1] += lineHeight * vfactor * (numRows - 1);
647649
for (let i = 0; i < numRows; i++) {
648-
labelWidthTmp = canvas.measureText(labelRows[i]).width;
650+
labelWidthTmp = ctx.measureText(labelRows[i]).width;
649651
if (labelWidth < labelWidthTmp) {
650652
labelWidth = labelWidthTmp;
651653
}
652654
}
653-
} else if (canvas.mozDrawText) {
655+
} else if (ctx.mozDrawText) {
654656
// Mozilla pre-Gecko1.9.1 (<FF3.1)
655-
canvas.mozTextStyle = fontStyle;
657+
ctx.mozTextStyle = fontStyle;
656658
vfactor = LABEL_FACTOR[style.labelAlign[1]];
657659
if (vfactor == null) {
658660
vfactor = -.5;
659661
}
660-
lineHeight = canvas.mozMeasureText('xx');
662+
lineHeight = ctx.mozMeasureText('xx');
661663
pt[1] += lineHeight * (1 + (vfactor * numRows));
662664
for (let i = 0; i < numRows; i++) {
663-
labelWidthTmp = canvas.measureText(labelRows[i]).width;
665+
labelWidthTmp = ctx.measureText(labelRows[i]).width;
664666
if (labelWidth < labelWidthTmp) {
665667
labelWidth = labelWidthTmp;
666668
}

src/openlayers/overlay/Label.js

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -588,8 +588,10 @@ export default class Label extends GeoFeature {
588588
canvas.globalAlpha = 0;
589589
canvas.lineWidth = 1;
590590

591-
canvas.fillStyle = style.fontColor;
592-
canvas.globalAlpha = style.fontOpacity || 1.0;
591+
var ctx = canvas.getContext("2d");
592+
593+
ctx.fillStyle = style.fontColor;
594+
ctx.globalAlpha = style.fontOpacity || 1.0;
593595
var fontStyle = [style.fontStyle ? style.fontStyle : "normal",
594596
"normal",
595597
style.fontWeight ? style.fontWeight : "normal",
@@ -598,37 +600,37 @@ export default class Label extends GeoFeature {
598600
var labelRows = style.label.split('\n');
599601
var numRows = labelRows.length;
600602
var vfactor, lineHeight, labelWidthTmp;
601-
if (canvas.fillText) {
603+
if (ctx.fillText) {
602604
// HTML5
603-
canvas.font = fontStyle;
604-
canvas.textAlign = LABEL_ALIGN[style.labelAlign[0]] ||
605+
ctx.font = fontStyle;
606+
ctx.textAlign = LABEL_ALIGN[style.labelAlign[0]] ||
605607
"center";
606-
canvas.textBaseline = LABEL_ALIGN[style.labelAlign[1]] ||
608+
ctx.textBaseline = LABEL_ALIGN[style.labelAlign[1]] ||
607609
"middle";
608610
vfactor = LABEL_FACTOR[style.labelAlign[1]];
609611
if (vfactor == null) {
610612
vfactor = -.5;
611613
}
612-
lineHeight = canvas.measureText('Mg').height ||
613-
canvas.measureText('xx').width;
614+
lineHeight = ctx.measureText('Mg').height ||
615+
ctx.measureText('xx').width;
614616
pt[1] += lineHeight * vfactor * (numRows - 1);
615617
for (let i = 0; i < numRows; i++) {
616-
labelWidthTmp = canvas.measureText(labelRows[i]).width;
618+
labelWidthTmp = ctx.measureText(labelRows[i]).width;
617619
if (labelWidth < labelWidthTmp) {
618620
labelWidth = labelWidthTmp;
619621
}
620622
}
621-
} else if (canvas.mozDrawText) {
623+
} else if (ctx.mozDrawText) {
622624
// Mozilla pre-Gecko1.9.1 (<FF3.1)
623-
canvas.mozTextStyle = fontStyle;
625+
ctx.mozTextStyle = fontStyle;
624626
vfactor = LABEL_FACTOR[style.labelAlign[1]];
625627
if (vfactor == null) {
626628
vfactor = -.5;
627629
}
628-
lineHeight = canvas.mozMeasureText('xx');
630+
lineHeight = ctx.mozMeasureText('xx');
629631
pt[1] += lineHeight * (1 + (vfactor * numRows));
630632
for (let i = 0; i < numRows; i++) {
631-
labelWidthTmp = canvas.measureText(labelRows[i]).width;
633+
labelWidthTmp = ctx.measureText(labelRows[i]).width;
632634
if (labelWidth < labelWidthTmp) {
633635
labelWidth = labelWidthTmp;
634636
}

0 commit comments

Comments
 (0)