Skip to content

Commit 7e04bc0

Browse files
authored
fix fatline material resolution not update when map resize (#628)
1 parent 61401c6 commit 7e04bc0

File tree

3 files changed

+38
-0
lines changed

3 files changed

+38
-0
lines changed

src/BaseObject.ts

+4
Original file line numberDiff line numberDiff line change
@@ -449,6 +449,10 @@ class BaseObject extends maptalks.Eventable(Base) {
449449
return this;
450450
}
451451

452+
getPickObject3d() {
453+
return this.pickObject3d;
454+
}
455+
452456

453457
/**
454458
* more method support

src/FatLine.ts

+17
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,9 @@ class FatLine extends BaseObject {
7272

7373
_setMaterialRes(layer, material) {
7474
const map = layer.getMap();
75+
if (!map) {
76+
return this;
77+
}
7578
const size = map.getSize();
7679
const width = size.width,
7780
height = size.height;
@@ -136,5 +139,19 @@ class FatLine extends BaseObject {
136139
this._fire('workerload', { target: this });
137140
}
138141

142+
_animation() {
143+
const layer = this.getLayer();
144+
if (!layer) {
145+
return this;
146+
}
147+
const object3d = this.getObject3d();
148+
const pickObject3d = this.getPickObject3d();
149+
[object3d, pickObject3d].forEach(object3d => {
150+
if (object3d) {
151+
this._setMaterialRes(layer, (object3d as any).material);
152+
}
153+
});
154+
}
155+
139156
}
140157
export default FatLine;

src/FatLines.ts

+17
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,9 @@ class FatLines extends MergedMixin(BaseObject) {
131131

132132
_setMaterialRes(layer, material) {
133133
const map = layer.getMap();
134+
if (!map) {
135+
return this;
136+
}
134137
const size = map.getSize();
135138
const width = size.width,
136139
height = size.height;
@@ -280,6 +283,20 @@ class FatLines extends MergedMixin(BaseObject) {
280283
}
281284
this._fire('workerload', { target: this });
282285
}
286+
287+
_animation() {
288+
const layer = this.getLayer();
289+
if (!layer) {
290+
return this;
291+
}
292+
const object3d = this.getObject3d();
293+
const pickObject3d = this.getPickObject3d();
294+
[object3d, pickObject3d].forEach(object3d => {
295+
if (object3d) {
296+
this._setMaterialRes(layer, (object3d as any).material);
297+
}
298+
});
299+
}
283300
}
284301

285302
export default FatLines;

0 commit comments

Comments
 (0)