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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy