Skip to content

Commit d5bbfee

Browse files
fix icl-1516 EchartsLayer和RangeThemeLaye叠加,默认加载顺序不正确 review by luox
1 parent 66998ae commit d5bbfee

File tree

4 files changed

+57
-2
lines changed

4 files changed

+57
-2
lines changed

src/leaflet/overlay/EChartsLayer.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ export const EchartsLayer = L.Layer.extend({
204204
_div.style.position = 'absolute';
205205
_div.style.height = size.y + 'px';
206206
_div.style.width = size.x + 'px';
207-
_div.style.zIndex = 10;
207+
_div.style.zIndex = 200;
208208
this._echartsContainer = _div;
209209
this.getPane().appendChild(this._echartsContainer);
210210
const me = this;

src/leaflet/overlay/MapVLayer.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ export var MapVLayer = L.Layer.extend({
205205
canvas.style.top = 0 + "px";
206206
canvas.style.left = 0 + "px";
207207
canvas.style.pointerEvents = "none";
208-
canvas.style.zIndex = this.options.zIndex || 600;
208+
canvas.style.zIndex = this.options.zIndex || 200;
209209
var global$2 = typeof window === 'undefined' ? {} : window;
210210
var devicePixelRatio = this.devicePixelRatio = global$2.devicePixelRatio || 1;
211211
if (!this.mapVOptions.context || this.mapVOptions.context === '2d') {

test/leaflet/overlay/EchartsLayerSpec.js

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { echartsLayer, LeafletMapCoordSys } from '../../../src/leaflet/overlay/EChartsLayer';
2+
import { RangeThemeLayer } from '../../../src/leaflet/overlay/RangeThemeLayer';
23
import { tiledMapLayer } from '../../../src/leaflet/mapping/TiledMapLayer';
34

45
var url = GlobeParameter.imageURL;
@@ -393,4 +394,43 @@ describe('leaflet_EChartsLayer', () => {
393394
LeafletMapCoordSys.create(mockECModel1)
394395
done();
395396
});
397+
398+
it('layer index fix', (done) => {
399+
var data = [
400+
{
401+
value: [104.006244, 30.677465]
402+
},
403+
{
404+
value: [104.041946, 30.689538]
405+
},
406+
{
407+
value: [104.002589, 30.64683]
408+
}
409+
];
410+
var option = {
411+
series: [
412+
{
413+
type: 'effectScatter',
414+
coordinateSystem: 'leaflet',
415+
data: data,
416+
symbolSize: 30
417+
}
418+
]
419+
};
420+
var themeLayer = new RangeThemeLayer("ThemeLayer", {
421+
isHoverAble:false,
422+
opacity: 0.8,
423+
alwaysMapCRS: true
424+
});
425+
themeLayer.addTo(map);
426+
var echartsMapLayer = echartsLayer(option).addTo(map);
427+
const layer = document.getElementsByClassName('echarts-layer')[0];
428+
const themeLayerElement = document.getElementsByClassName('themeLayer')[0];
429+
const panel = document.getElementsByClassName('leaflet-map-pane')[0];
430+
expect(+layer.parentNode.style.zIndex).toEqual(+themeLayerElement.style.zIndex);
431+
expect(themeLayerElement.nextSibling.children[0].classList.contains('echarts-layer')).toBeTruthy();
432+
expect(layer.style.left).toBe('0px');
433+
expect(layer.style.top).toBe('0px');
434+
done();
435+
});
396436
});

test/leaflet/overlay/MapVLayerSpec.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import {mapVLayer} from '../../../src/leaflet/overlay/MapVLayer';
22
import {tiledMapLayer} from '../../../src/leaflet/mapping/TiledMapLayer';
3+
import {RangeThemeLayer} from '../../../src/leaflet/overlay/RangeThemeLayer';
34
import {utilCityCenter, DataSet} from 'mapv';
45

56
var url = GlobeParameter.ChinaURL;
@@ -188,4 +189,18 @@ describe('leaflet_MapVLayer', () => {
188189
expect(topLeft.lng).toEqual(87.01171875);
189190
expect(topLeft.lat).toEqual(48.63290858589535);
190191
});
192+
193+
it('layer index fix', () => {
194+
var canvas = layer.getCanvas();
195+
expect(canvas).not.toBeNull();
196+
var themeLayer = new RangeThemeLayer("ThemeLayer", {
197+
isHoverAble:false,
198+
opacity: 0.8,
199+
alwaysMapCRS: true
200+
});
201+
themeLayer.addTo(map);
202+
const themeLayerElement = document.getElementsByClassName('themeLayer')[0];
203+
expect(+canvas.style.zIndex).toEqual(+themeLayerElement.style.zIndex);
204+
expect(canvas.parentNode.nextSibling.classList.contains('themeLayer')).toBeTruthy();
205+
});
191206
});

0 commit comments

Comments
 (0)