| 1322 | { style: { version: 8, sources: {}, layers: [] }, center: [0, 0], zoom: 1, crs: 'EPSG:3857' } |
| 1323 | ); |
| 1324 | const callback = function (data) { |
| 1325 | const appreciableLayers = mapstudioWebmap.getLayers(); |
| 1326 | expect(appreciableLayers.length).toBe(0); |
| 1327 | const webMap1 = new WebMap(1209527958, { ...commonOption, map: data.map, checkSameLayer: true }); |
| 1328 | webMap1.once('mapcreatesucceeded', ({ layers }) => { |
| 1329 | expect(layers.length).toBe(2); |
| 1330 | expect(layers[0].reused).toBeUndefined(); |
| 1331 | expect(layers[0].id).toBe('CHINA_DARK'); |
| 1332 | expect(layers[1].reused).toBeUndefined(); |
| 1333 | expect(layers[1].id).toBe('PopulationDistribution'); |
| 1334 | const webMap2 = new WebMap(106007908, { ...commonOption, map: data.map, checkSameLayer: true }); |
| 1335 | webMap2.once('mapcreatesucceeded', ({ layers, map }) => { |
| 1336 | expect(layers.length).toBe(3); |
| 1337 | expect(layers[0].reused).toBeTruthy(); |
| 1338 | expect(layers[0].id).toBe('CHINA_DARK'); |
| 1339 | expect(layers[1].reused).toBeTruthy(); |
| 1340 | expect(layers[1].id).toBe('PopulationDistribution'); |
| 1341 | expect(layers[2].reused).toBeUndefined(); |
| 1342 | expect(layers[2].id).toBe('未命名数据'); |
| 1343 | let layersOnMap = map.getStyle().layers; |
| 1344 | expect(layersOnMap.length).toBe(3); |
| 1345 | expect(layersOnMap[0].id).toBe('CHINA_DARK'); |
| 1346 | expect(layersOnMap[1].id).toBe('PopulationDistribution'); |
| 1347 | expect(layersOnMap[2].id).toBe('未命名数据'); |
| 1348 | const listenEvents = {}; |
| 1349 | spyOn(map, 'off').and.callFake((type, cb) => { |
| 1350 | listenEvents[type] = cb; |
| 1351 | }); |
| 1352 | webMap2.cleanLayers(); |
| 1353 | layersOnMap = map.getStyle().layers; |
| 1354 | expect(layersOnMap.length).toBe(2); |
| 1355 | expect(layersOnMap[0].id).toBe('CHINA_DARK'); |
| 1356 | expect(layersOnMap[1].id).toBe('PopulationDistribution'); |
| 1357 | expect(listenEvents.styledata).not.toBeUndefined(); |
| 1358 | webMap1.cleanLayers(); |
| 1359 | done(); |
| 1360 | }); |
| 1361 | }); |
| 1362 | }; |
| 1363 | mapstudioWebmap.once('mapcreatesucceeded', callback); |
| 1364 | }); |
| 1365 | |