updateCoverColor(newColor) this.color = newColor; if (this.coverLayer && this.coverLayer.setStyle) this.coverLayer.setStyle( fillColor: this.color );
if (this.enabled) this.addCover();
}
removeCover() if (this.coverLayer) this.map.removeLayer(this.coverLayer); this.coverLayer = null;
// Create a rectangle covering the whole map view // Adjust for Leaflet syntax – replace with your map lib's polygon method this.coverLayer = L.rectangle(bounds, color: 'transparent', fillColor: this.color, fillOpacity: 1, weight: 0, interactive: false, className: 'map-cover-overlay' ).addTo(this.map);
init() if (!this.map) console.error('MapCover: No map instance provided.'); return;
addCover() if (this.coverLayer) this.map.removeLayer(this.coverLayer);
toggleCover() this.enabled = !this.enabled; if (this.enabled) this.addCover(); else this.removeCover();