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 []; }