Skip to content

Commit d79a06e

Browse files
committed
【fix】leaflet mapvlayer动态图层移除后可能出现的空值错误
1 parent f732821 commit d79a06e

File tree

6 files changed

+48
-15
lines changed

6 files changed

+48
-15
lines changed

dist/leaflet/iclient9-leaflet-es6.js

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73859,7 +73859,7 @@ class MapVRenderer_MapVRenderer extends BaseLayer {
7385973859
this.mousemoveEvent = this.mousemoveEvent.bind(this);
7386073860
this._moveStartEvent = this.moveStartEvent.bind(this);
7386173861
this._moveEndEvent = this.moveEndEvent.bind(this);
73862-
this._zoomstart = this.zoomStartEvent.bind(this);
73862+
this._zoomStartEvent = this.zoomStartEvent.bind(this);
7386373863
this.bindEvent();
7386473864
}
7386573865

@@ -73903,9 +73903,19 @@ class MapVRenderer_MapVRenderer extends BaseLayer {
7390373903
}
7390473904
this.map.on('movestart', this._moveStartEvent);
7390573905
this.map.on('moveend', this._moveEndEvent);
73906-
this.map.on('zoomstart', this._zoomstart);
73906+
this.map.on('zoomstart', this._zoomStartEvent);
73907+
}
73908+
/**
73909+
* @function L.supermap.MapVRenderer.prototype.destroy
73910+
* @description 释放资源。
73911+
*/
73912+
destroy() {
73913+
this.unbindEvent();
73914+
this.clearData();
73915+
this.animator && this.animator.stop();
73916+
this.animator = null;
73917+
this.canvasLayer = null;
7390773918
}
73908-
7390973919
/**
7391073920
* @function L.supermap.MapVRenderer.prototype.unbindEvent
7391173921
* @description 解绑鼠标移动和鼠标滑动触发的事件。
@@ -74262,7 +74272,7 @@ var MapVLayer = external_L_default.a.Layer.extend({
7426274272
*/
7426374273
onRemove: function () {
7426474274
external_L_default.a.DomUtil.remove(this.container);
74265-
this.renderer.unbindEvent();
74275+
this.renderer.destroy();
7426674276
},
7426774277

7426874278
/**

dist/leaflet/iclient9-leaflet-es6.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/leaflet/iclient9-leaflet.js

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33782,7 +33782,7 @@ var MapVRenderer = exports.MapVRenderer = function (_BaseLayer) {
3378233782
_this.mousemoveEvent = _this.mousemoveEvent.bind(_this);
3378333783
_this._moveStartEvent = _this.moveStartEvent.bind(_this);
3378433784
_this._moveEndEvent = _this.moveEndEvent.bind(_this);
33785-
_this._zoomstart = _this.zoomStartEvent.bind(_this);
33785+
_this._zoomStartEvent = _this.zoomStartEvent.bind(_this);
3378633786
_this.bindEvent();
3378733787
return _this;
3378833788
}
@@ -33837,9 +33837,22 @@ var MapVRenderer = exports.MapVRenderer = function (_BaseLayer) {
3383733837
}
3383833838
this.map.on('movestart', this._moveStartEvent);
3383933839
this.map.on('moveend', this._moveEndEvent);
33840-
this.map.on('zoomstart', this._zoomstart);
33840+
this.map.on('zoomstart', this._zoomStartEvent);
3384133841
}
33842+
/**
33843+
* @function L.supermap.MapVRenderer.prototype.destroy
33844+
* @description 释放资源。
33845+
*/
3384233846

33847+
}, {
33848+
key: 'destroy',
33849+
value: function destroy() {
33850+
this.unbindEvent();
33851+
this.clearData();
33852+
this.animator && this.animator.stop();
33853+
this.animator = null;
33854+
this.canvasLayer = null;
33855+
}
3384333856
/**
3384433857
* @function L.supermap.MapVRenderer.prototype.unbindEvent
3384533858
* @description 解绑鼠标移动和鼠标滑动触发的事件。
@@ -34261,7 +34274,7 @@ var MapVLayer = exports.MapVLayer = _leaflet2["default"].Layer.extend({
3426134274
*/
3426234275
onRemove: function onRemove() {
3426334276
_leaflet2["default"].DomUtil.remove(this.container);
34264-
this.renderer.unbindEvent();
34277+
this.renderer.destroy();
3426534278
},
3426634279

3426734280
/**

0 commit comments

Comments
 (0)