From 0757efcb79affa496c420a5ad5d8b10305e632ad Mon Sep 17 00:00:00 2001 From: vcoppe Date: Wed, 4 Sep 2024 14:46:08 +0200 Subject: [PATCH] get all previous point additional data when inserting new anchor --- .../toolbar/tools/routing/RoutingControls.ts | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/website/src/lib/components/toolbar/tools/routing/RoutingControls.ts b/website/src/lib/components/toolbar/tools/routing/RoutingControls.ts index 3434dc70..7d6c350f 100644 --- a/website/src/lib/components/toolbar/tools/routing/RoutingControls.ts +++ b/website/src/lib/components/toolbar/tools/routing/RoutingControls.ts @@ -389,16 +389,17 @@ export class RoutingControls { let projectedPt = projectedPoint(segment.trkpt[before], segment.trkpt[before + 1], this.temporaryAnchor.point); let ratio = distance(segment.trkpt[before], projectedPt) / distance(segment.trkpt[before], segment.trkpt[before + 1]); + let point = segment.trkpt[before].clone(); + point.setCoordinates(projectedPt); + point.ele = (1 - ratio) * (segment.trkpt[before].ele ?? 0) + ratio * (segment.trkpt[before + 1].ele ?? 0); + point.time = (segment.trkpt[before].time && segment.trkpt[before + 1].time) ? new Date((1 - ratio) * segment.trkpt[before].time.getTime() + ratio * segment.trkpt[before + 1].time.getTime()) : undefined; + point._data = { + anchor: true, + zoom: 0 + }; + minInfo = { - point: new TrackPoint({ - attributes: projectedPt, - ele: (1 - ratio) * (segment.trkpt[before].ele ?? 0) + ratio * (segment.trkpt[before + 1].ele ?? 0), - time: (segment.trkpt[before].time && segment.trkpt[before + 1].time) ? new Date((1 - ratio) * segment.trkpt[before].time.getTime() + ratio * segment.trkpt[before + 1].time.getTime()) : undefined, - _data: { - anchor: true, - zoom: 0 - } - }), + point, trackIndex, segmentIndex, trkptIndex: before + 1