# HG changeset patch # User Markus Kottlaender # Date 1555396306 -7200 # Node ID 01210542e02800d4a607c16edf11734c0175f544 # Parent 051a3f446ac20141d8437025184c73fe88a3f4b0 client: remove openlayers map objects after removing a map component from the view diff -r 051a3f446ac2 -r 01210542e028 client/src/components/map/Map.vue --- a/client/src/components/map/Map.vue Tue Apr 16 08:20:37 2019 +0200 +++ b/client/src/components/map/Map.vue Tue Apr 16 08:31:46 2019 +0200 @@ -225,6 +225,9 @@ }); this.$store.dispatch("map/initIdentifyTool", this.map); + }, + destroyed() { + this.$store.commit("map/removeOpenLayersMap", this.map); } }; diff -r 051a3f446ac2 -r 01210542e028 client/src/store/map.js --- a/client/src/store/map.js Tue Apr 16 08:20:37 2019 +0200 +++ b/client/src/store/map.js Tue Apr 16 08:31:46 2019 +0200 @@ -78,6 +78,14 @@ addOpenLayersMap: (state, map) => { state.openLayersMaps.push(map); }, + removeOpenLayersMap: (state, map) => { + let index = state.openLayersMaps.findIndex( + m => m.getTarget() === map.getTarget() + ); + if (index !== -1) { + state.openLayersMaps.splice(index); + } + }, identifyToolEnabled: (state, enabled) => { state.identifyToolEnabled = enabled; },