map-ol-utils 0.1.14 → 0.1.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -337,7 +337,12 @@ var removeAllLayers = () => {
337
337
  if (instance) {
338
338
  instance.getAllLayers().forEach((layer) => {
339
339
  if (!layer.get("_isBaseLayer")) {
340
+ const source = layer.getSource();
341
+ if (source && source.dispose) {
342
+ source.dispose();
343
+ }
340
344
  instance.removeLayer(layer);
345
+ layer.dispose();
341
346
  }
342
347
  });
343
348
  }
@@ -478,19 +483,14 @@ var createSelectByLayer = (vectorLayer) => {
478
483
  }
479
484
  });
480
485
  interaction.on("select", (evt) => {
481
- const isClusterLayer = vectorLayer.get("_isClusterLayer");
482
486
  const { selected, deselected } = evt;
483
487
  if (selected.length) {
484
488
  const feature = selected[0];
489
+ const isClusterLayer = vectorLayer.get("_isClusterLayer");
485
490
  if (isClusterLayer) {
486
491
  const features = feature.get("features");
487
492
  if (features.length === 1) {
488
- const clusterFeature = features[0];
489
- const data = clusterFeature.getProperties();
490
- const { activeStyle } = data;
491
- feature.setStyle(activeStyle);
492
- vectorLayer.changed();
493
- selectEventHandle(vectorLayer, clusterFeature);
493
+ selectEventHandle(vectorLayer, features[0]);
494
494
  }
495
495
  } else {
496
496
  selectEventHandle(vectorLayer, feature);
@@ -681,7 +681,7 @@ var createClusterLayer = (dataList, config) => {
681
681
  }
682
682
  if (Array.isArray(style)) {
683
683
  const tempFeature = feature.get("features")[0];
684
- const index = tempFeature.get("styleIndex");
684
+ const index = tempFeature.get("styleIndex") || 0;
685
685
  tempFeature.setProperties({
686
686
  unActiveStyle: style[index],
687
687
  activeStyle: style[index + style.length / 2]
@@ -844,9 +844,14 @@ var createMapWorldLayer = (layerName, tk = "c77eddc667c5bed016fded560baf93e7") =
844
844
  };
845
845
  var getLayerByName = (name) => instance.getAllLayers().find((item) => (item.get("_layerName") || item.getClassName()) === name);
846
846
  var removeLayerByName = (name) => {
847
- const tempLayer = instance.getAllLayers().find((item) => (item.get("_layerName") || item.getClassName()) === name);
848
- if (tempLayer) {
849
- instance.removeLayer(tempLayer);
847
+ const layer = instance.getAllLayers().find((item) => (item.get("_layerName") || item.getClassName()) === name);
848
+ if (layer) {
849
+ const source = layer.getSource();
850
+ if (source && source.dispose) {
851
+ source.dispose();
852
+ }
853
+ instance.removeLayer(layer);
854
+ layer.dispose();
850
855
  }
851
856
  };
852
857
  var changeLayersByNames = (activeNames, allLayerNames) => {
package/dist/index.js CHANGED
@@ -270,7 +270,12 @@ var removeAllLayers = () => {
270
270
  if (instance) {
271
271
  instance.getAllLayers().forEach((layer) => {
272
272
  if (!layer.get("_isBaseLayer")) {
273
+ const source = layer.getSource();
274
+ if (source && source.dispose) {
275
+ source.dispose();
276
+ }
273
277
  instance.removeLayer(layer);
278
+ layer.dispose();
274
279
  }
275
280
  });
276
281
  }
@@ -411,19 +416,14 @@ var createSelectByLayer = (vectorLayer) => {
411
416
  }
412
417
  });
413
418
  interaction.on("select", (evt) => {
414
- const isClusterLayer = vectorLayer.get("_isClusterLayer");
415
419
  const { selected, deselected } = evt;
416
420
  if (selected.length) {
417
421
  const feature = selected[0];
422
+ const isClusterLayer = vectorLayer.get("_isClusterLayer");
418
423
  if (isClusterLayer) {
419
424
  const features = feature.get("features");
420
425
  if (features.length === 1) {
421
- const clusterFeature = features[0];
422
- const data = clusterFeature.getProperties();
423
- const { activeStyle } = data;
424
- feature.setStyle(activeStyle);
425
- vectorLayer.changed();
426
- selectEventHandle(vectorLayer, clusterFeature);
426
+ selectEventHandle(vectorLayer, features[0]);
427
427
  }
428
428
  } else {
429
429
  selectEventHandle(vectorLayer, feature);
@@ -614,7 +614,7 @@ var createClusterLayer = (dataList, config) => {
614
614
  }
615
615
  if (Array.isArray(style)) {
616
616
  const tempFeature = feature.get("features")[0];
617
- const index = tempFeature.get("styleIndex");
617
+ const index = tempFeature.get("styleIndex") || 0;
618
618
  tempFeature.setProperties({
619
619
  unActiveStyle: style[index],
620
620
  activeStyle: style[index + style.length / 2]
@@ -777,9 +777,14 @@ var createMapWorldLayer = (layerName, tk = "c77eddc667c5bed016fded560baf93e7") =
777
777
  };
778
778
  var getLayerByName = (name) => instance.getAllLayers().find((item) => (item.get("_layerName") || item.getClassName()) === name);
779
779
  var removeLayerByName = (name) => {
780
- const tempLayer = instance.getAllLayers().find((item) => (item.get("_layerName") || item.getClassName()) === name);
781
- if (tempLayer) {
782
- instance.removeLayer(tempLayer);
780
+ const layer = instance.getAllLayers().find((item) => (item.get("_layerName") || item.getClassName()) === name);
781
+ if (layer) {
782
+ const source = layer.getSource();
783
+ if (source && source.dispose) {
784
+ source.dispose();
785
+ }
786
+ instance.removeLayer(layer);
787
+ layer.dispose();
783
788
  }
784
789
  };
785
790
  var changeLayersByNames = (activeNames, allLayerNames) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "map-ol-utils",
3
- "version": "0.1.14",
3
+ "version": "0.1.16",
4
4
  "type": "module",
5
5
  "description": "Openlayers utils library",
6
6
  "files": [
@@ -25,11 +25,10 @@
25
25
  "openlayers-utils"
26
26
  ],
27
27
  "dependencies": {
28
- "ol": "^10.5.0",
28
+ "gcoord": "^1.0.7",
29
29
  "mitt": "^3.0.1",
30
- "gcoord": "^1.0.7"
30
+ "ol": "^10.6.1"
31
31
  },
32
- "devDependencies": {},
33
32
  "peerDependencies": {
34
33
  "ol": ">=10.5.0"
35
34
  },