diff --git a/js/src/controls/DrawControl.js b/js/src/controls/DrawControl.js index 2c35fc0ad..8f07a22db 100644 --- a/js/src/controls/DrawControl.js +++ b/js/src/controls/DrawControl.js @@ -141,7 +141,10 @@ export class LeafletDrawControlView extends control.LeafletControlView { let newData = []; this.feature_group.eachLayer((layer) => { const geoJson = layer.toGeoJSON(); - geoJson.properties.style = layer.options; + // Sanitize layer options for serialization via `structuredClone`: + // https://web.dev/structured-clone/#features-and-limitations + const sanitizedLayerOptions = JSON.parse(JSON.stringify(layer.options)); + geoJson.properties.style = sanitizedLayerOptions; newData.push(geoJson); }); this.model.set('data', newData);