fix: avoid map refresh on road selection

This commit is contained in:
2026-08-26 15:39:17 +08:00
parent 89e0a9ce37
commit 02c3a4d3e4
6 changed files with 59 additions and 4 deletions

View File

@@ -157,9 +157,14 @@ export function updateLayers(layers: ReturnType<typeof createLayers>, state: Wor
.filter((item) => item.geometry)
.map(({ geometry, ...properties }) => ({ type: 'Feature', properties, geometry: geometry! })),
});
put('selectedRoad', { type: 'FeatureCollection', features: [] });
updateSelectedRoad(layers, selected);
}
export function updateSelectedRoad(layers: ReturnType<typeof createLayers>, selected: Road | null) {
const source = layers.selectedRoad.getSource()!;
source.clear();
if (selected)
get('selectedRoad').addFeature(
source.addFeature(
new Feature({ geometry: new LineString(selected.centerline).transform('EPSG:4326', 'EPSG:3857') }),
);
}