diff --git a/src/leaflet/overlay/EChartsLayer.js b/src/leaflet/overlay/EChartsLayer.js index 22b0a987e8..eb752c83d8 100644 --- a/src/leaflet/overlay/EChartsLayer.js +++ b/src/leaflet/overlay/EChartsLayer.js @@ -146,6 +146,11 @@ export var EchartsLayer = L.Layer.extend({ this._ec.setOption(this._echartsOptions); }, + onRemove: function (map) { + // 销毁echarts实例 + this._ec.dispose(); + }, + _initEchartsContainer: function () { var size = this._map.getSize(); var _div = document.createElement('div'); diff --git a/src/leaflet/overlay/MapVLayer.js b/src/leaflet/overlay/MapVLayer.js index 4e2deafb3a..acac480787 100644 --- a/src/leaflet/overlay/MapVLayer.js +++ b/src/leaflet/overlay/MapVLayer.js @@ -51,13 +51,13 @@ export var MapVLayer = L.Layer.extend({ this.fire("loaded"); }, - _hide: function () { - this.canvas.style.display = 'none'; - }, + // _hide: function () { + // this.canvas.style.display = 'none'; + // }, - _show: function () { - this.canvas.style.display = 'block'; - }, + // _show: function () { + // this.canvas.style.display = 'block'; + // }, /** * @private @@ -67,11 +67,12 @@ export var MapVLayer = L.Layer.extend({ */ onRemove: function (map) { L.DomUtil.remove(this.container); - map.off({ - moveend: this.draw, - zoomstart: this._hide, - zoomend: this._show - }, this); + // map.off({ + // moveend: this.draw, + // zoomstart: this._hide, + // zoomend: this._show + // }, this); + this.renderer.unbindEvent(); }, /** diff --git a/src/leaflet/overlay/mapv/MapVRenderer.js b/src/leaflet/overlay/mapv/MapVRenderer.js index 24538d23af..b1bdc5c019 100644 --- a/src/leaflet/overlay/mapv/MapVRenderer.js +++ b/src/leaflet/overlay/mapv/MapVRenderer.js @@ -30,9 +30,9 @@ export default class MapVRenderer extends BaseLayer { this.canvasLayer = layer; this.clickEvent = this.clickEvent.bind(this); this.mousemoveEvent = this.mousemoveEvent.bind(this); - this.map.on('movestart', this.moveStartEvent.bind(this)); - this.map.on('moveend', this.moveEndEvent.bind(this)); - this.map.on('zoomstart', this.zoomStartEvent.bind(this)); + this._moveStartEvent = this.moveStartEvent.bind(this); + this._moveEndEvent = this.moveEndEvent.bind(this); + this._zoomstart = this.zoomStartEvent.bind(this); this.bindEvent(); } @@ -72,6 +72,9 @@ export default class MapVRenderer extends BaseLayer { map.on('mousemove', this.mousemoveEvent); } } + this.map.on('movestart', this._moveStartEvent); + this.map.on('moveend', this._moveEndEvent); + this.map.on('zoomstart', this._zoomstart); } /** @@ -90,6 +93,9 @@ export default class MapVRenderer extends BaseLayer { map.off('mousemove', this.mousemoveEvent); } } + this.map.off('movestart', this._moveStartEvent); + this.map.off('moveend', this._moveEndEvent); + this.map.off('zoomstart', this._zoomStartEvent); } /**