diff --git a/src/ol/style/Icon.js b/src/ol/style/Icon.js index 03440a9d5f..ab63f15867 100644 --- a/src/ol/style/Icon.js +++ b/src/ol/style/Icon.js @@ -238,6 +238,8 @@ class Icon extends ImageStyle { scale: Array.isArray(scale) ? scale.slice() : scale, size: this.size_ !== null ? this.size_.slice() : undefined, src: this.getSrc(), + displacement: this.getDisplacement().slice(), + declutterMode: this.getDeclutterMode(), }); } diff --git a/test/browser/spec/ol/style/icon.test.js b/test/browser/spec/ol/style/icon.test.js index 3bce126e6a..c319a494b6 100644 --- a/test/browser/spec/ol/style/icon.test.js +++ b/test/browser/spec/ol/style/icon.test.js @@ -67,6 +67,8 @@ describe('ol.style.Icon', function () { scale: 2, rotation: 4, size: [10, 12], + displacement: [5, 6], + declutterMode: 'obstacle', }); const clone = original.clone(); @@ -87,6 +89,8 @@ describe('ol.style.Icon', function () { expect(original.getOpacity()).to.eql(clone.getOpacity()); expect(original.getRotation()).to.eql(clone.getRotation()); expect(original.getRotateWithView()).to.eql(clone.getRotateWithView()); + expect(original.getDisplacement()).to.eql(clone.getDisplacement()); + expect(original.getDeclutterMode()).to.eql(clone.getDeclutterMode()); }); it('copies all values with src', function () { const original = new Icon({