chart = {
const context = DOM.context2d(width, height);
const path = d3.geoPath(projection, context);
function render(land) {
context.clearRect(0, 0, width, height);
context.beginPath(), path(sphere), context.fillStyle = "#ADD8E6", context.fill();
context.beginPath(), path(land), context.fillStyle = "#8FBC8F", context.fill();
context.beginPath(), path(borders), context.strokeStyle = "#fff", context.lineWidth = 0.5, context.stroke();
context.beginPath(), path(sphere), context.stroke();
context.beginPath(), path(({type: "MultiPoint", coordinates: [coords[0], coords[1]]})), context.fillStyle = "#800000", context.fill();
context.beginPath(), path(({type: "MultiPoint", coordinates: [[0, 0], [10, 10]]})), context.fillStyle = "red", context.fill();
context.beginPath(), path(({type: "Point", coordinates: coords})), context.fillStyle = "black", context.fill();
}
for (const partner of institutions){
mutable institution = partner.properties.name;
mutable coords = partner.geometry.coordinates;
}
return d3.select(context.canvas)
.call(drag(projection)
.on("drag.render", () => render(land110))
.on("end.render", () => render(land50)))
.call(() => render(land50))
.node();
}