From 6ff3c0ec96875585e4c3612121b8c77b7eded2aa Mon Sep 17 00:00:00 2001 From: Willem Dantuma Date: Thu, 12 Aug 2021 17:13:40 +0200 Subject: [PATCH] Fix device geometry update --- projects/common-map/src/fm-map/effects/map.effects.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/projects/common-map/src/fm-map/effects/map.effects.ts b/projects/common-map/src/fm-map/effects/map.effects.ts index 5d0d03f..ee7622a 100644 --- a/projects/common-map/src/fm-map/effects/map.effects.ts +++ b/projects/common-map/src/fm-map/effects/map.effects.ts @@ -50,15 +50,16 @@ export class MapEffects { private _wktFormat: WKT; private overrideSelectedItemLayer: boolean = false; - private toPointFeature(updateEvent:commonActions.DeviceUpdateEvent): Feature { + private updateFeatureGeometry(feature:Feature, updateEvent:commonActions.DeviceUpdateEvent): Feature { + let newFeature = feature.clone(); var f = this._wktFormat.readFeature(updateEvent.attributes["geometry"],{ dataProjection: 'EPSG:4326', featureProjection: 'EPSG:3857' }); - f.setId(updateEvent.itemCode); var centroid = getCenter(f.getGeometry().getExtent()); - f.setGeometry(new Point(centroid)); - return f; + newFeature.setId(feature.getId()); + newFeature.setGeometry(new Point(centroid)); + return newFeature; } init$ = createEffect(() => this.actions$.pipe( @@ -263,7 +264,7 @@ export class MapEffects { } } if (feature) { - return of(new mapActions.UpdateFeatureSuccess(this.toPointFeature(deviceUpdateEventAction))); + return of(new mapActions.UpdateFeatureSuccess(this.updateFeatureGeometry(feature,deviceUpdateEventAction))); } else { return []; }