postor / cesiumjs-heat

heatmap for cesium | cesium的热力图
https://www.npmjs.com/package/cesiumjs-heat
MIT License
58 stars 14 forks source link

Heatmap.js is broken for SPA's #7

Closed davesauce14 closed 11 months ago

davesauce14 commented 12 months ago

Heatmap.js while very popular has had a halt in its support for 7 years, and is effectively abandoned. As a result, it's now broken in all modern browsers.

https://github.com/pa7/heatmap.js/issues/219 // Issue https://github.com/pa7/heatmap.js/pull/315 // PR never merged by owner

If you are interested in adoption, you might want to use one of the alts that are still getting updates

https://www.npmjs.com/package/keli-heatmap.js https://www.npmjs.com/package/heatmap.js-fixed

Breakdown of problem:

When cesiumjs-heat / heatmap.js are brought in as modules (this is true for most js framework builds using webpack, vite, etc) the code within modules are executing in strict mode

Canvas2d img.Data has been made immutable in strict mode, and fails when the outdated library tries to update.

Result:

Fatal error unable to draw heatmap to canvas.

davesauce14 commented 12 months ago

Update: I forked locally and tested with heatmap.js-fixed and it solved my issue

postor commented 11 months ago

updated to heatmap.js-fixed