When I posted a request on how to get pie charts to display overlaid on a Cesium map, I received a suggestion to use Cesium + D3 + Canvases. I’ve gotten that working… sort of. Specifically, I have logic that does this:
foreach ([set of data by zip code]) {
-
Takes a set of data associated with a given zip code.
-
Runs it through D3, to create a pie chart, drawn to a canvas element with the class ‘pieCanvas’.
-
Creates a Cesium.Entity, using that position, and using billboard: { image: canvas } to bind the billboard to that canvas.
-
Adds that Entity to the viewer.
}
Unfortunately, while I am getting pie charts to appear…all of them are using the last pie chart written to the canvas. Am I missing something, or do I need to actually create (n) canvases, one per unique pie chart I’m intending to display?