fixes split gpx function

This commit is contained in:
Christian Beutel
2025-07-20 13:40:18 +02:00
parent 634c34ce65
commit 353e52b0f6
3 changed files with 19 additions and 12 deletions

View File

@@ -178,14 +178,16 @@ export async function splitSegment(index: number, pos: LngLat) {
if (dist < minDistance) {
bestSplitIndex = i
minDistance = dist
}
}
const firstSegmentPoints = [...points.slice(0, index)];
const secondSegmentPoints = [...points.slice(index)];
const intersectionPoint = new Waypoint({ $: { lat: pos.lat, lon: pos.lng}, ele: points[bestSplitIndex].ele });
const firstSegmentPoints = [...points.slice(0, bestSplitIndex), intersectionPoint];
const secondSegmentPoints = [intersectionPoint, ...points.slice(bestSplitIndex)];
seg.trkpt = firstSegmentPoints;
insertIntoRoute(secondSegmentPoints, index)
editRoute(index, firstSegmentPoints)
insertIntoRoute(secondSegmentPoints, index + 1)
}
export function normalizeRouteTime() {

View File

@@ -75,7 +75,7 @@ export class LayerManager {
private async updateOverpassLayer(newState: MapState) {
const overpassLayer = this.layers.overpass;
if (overpassLayer) {
if (overpassLayer && this.map.getSource('overpass')) {
const castedOverpassLayer = overpassLayer as OverpassLayer;
overpassLayer.filter = await castedOverpassLayer.updateLayerIfNeeded(newState, this.map.getBounds());
(this.map.getSource('overpass') as M.GeoJSONSource).setData(castedOverpassLayer.data);