diff --git a/index.html b/index.html index 77c1d58..46dc5b1 100644 --- a/index.html +++ b/index.html @@ -2826,18 +2826,18 @@ const slot = state.variants.find(lv => lv.name === varName); if (slot && f.geometry && f.geometry.coordinates) { - slot.id = f.id || p.fid || p.id || p._id || slot.id; + // Store the database ID separately so we don't break UI layer references + slot.dbId = f.id || p.fid || p.id || p._id; - // Handle potential nested coordinate arrays from different GIS exports + // Handle potential nested coordinate arrays let coords = f.geometry.coordinates; if (f.geometry.type === "LineString") { slot.routes = coords.map(c => ({ lat: c[1], lng: c[0] })); } else if (f.geometry.type === "MultiLineString") { - // Take the first segment of a MultiLineString if it's imported that way slot.routes = coords[0].map(c => ({ lat: c[1], lng: c[0] })); } - // Re-sync the polyline layer if it exists + // Use the original UI ID to find the map layer if (routeLayers[slot.id]) { routeLayers[slot.id].setLatLngs(slot.routes); }