| 1225 | { style: { version: 8, sources: {}, layers: [] }, center: [0, 0], zoom: 1, crs: 'EPSG:3857' } |
| 1226 | ); |
| 1227 | const callback = function (data) { |
| 1228 | const appreciableLayers = mapstudioWebmap.getLayers(); |
| 1229 | expect(appreciableLayers.length).toBe(0); |
| 1230 | const webMap1 = new WebMap(1209527958, { ...commonOption, map: data.map, checkSameLayer: true }); |
| 1231 | webMap1.once('mapcreatesucceeded', ({ layers }) => { |
| 1232 | expect(layers.length).toBe(2); |
| 1233 | expect(layers[0].reused).toBeUndefined(); |
| 1234 | expect(layers[0].id).toBe('CHINA_DARK'); |
| 1235 | expect(layers[1].reused).toBeUndefined(); |
| 1236 | expect(layers[1].id).toBe('PopulationDistribution'); |
| 1237 | const webMap2 = new WebMap(106007908, { ...commonOption, map: data.map, checkSameLayer: true }); |
| 1238 | webMap2.once('mapcreatesucceeded', ({ layers, map }) => { |
| 1239 | expect(layers.length).toBe(3); |
| 1240 | expect(layers[0].reused).toBeTruthy(); |
| 1241 | expect(layers[0].id).toBe('CHINA_DARK'); |
| 1242 | expect(layers[1].reused).toBeTruthy(); |
| 1243 | expect(layers[1].id).toBe('PopulationDistribution'); |
| 1244 | expect(layers[2].reused).toBeUndefined(); |
| 1245 | expect(layers[2].id).toBe('未命名数据'); |
| 1246 | let layersOnMap = map.getStyle().layers; |
| 1247 | expect(layersOnMap.length).toBe(3); |
| 1248 | expect(layersOnMap[0].id).toBe('CHINA_DARK'); |
| 1249 | expect(layersOnMap[1].id).toBe('PopulationDistribution'); |
| 1250 | expect(layersOnMap[2].id).toBe('未命名数据'); |
| 1251 | const listenEvents = {}; |
| 1252 | spyOn(map, 'off').and.callFake((type, cb) => { |
| 1253 | listenEvents[type] = cb; |
| 1254 | }); |
| 1255 | webMap2.cleanLayers(); |
| 1256 | layersOnMap = map.getStyle().layers; |
| 1257 | expect(layersOnMap.length).toBe(2); |
| 1258 | expect(layersOnMap[0].id).toBe('CHINA_DARK'); |
| 1259 | expect(layersOnMap[1].id).toBe('PopulationDistribution'); |
| 1260 | expect(listenEvents.styledata).not.toBeUndefined(); |
| 1261 | webMap1.cleanLayers(); |
| 1262 | done(); |
| 1263 | }); |
| 1264 | }); |
| 1265 | }; |
| 1266 | mapstudioWebmap.once('mapcreatesucceeded', callback); |
| 1267 | }); |
| 1268 | |