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);
}