map = {
const context = DOM.context2d(width, height);
const path = d3.geoPath(simplify, context);
context.miterLimit = 3;
context.strokeStyle = "#333";
function draw() {
context.clearRect(0, 0, width, height);
context.beginPath();
path(layers.counties);
context.lineWidth = 0.5;
context.stroke();
context.beginPath();
path(layers.states);
context.lineWidth = 1;
context.stroke();
context.beginPath();
path(layers.nation);
context.lineWidth = 1.5;
context.stroke();
}
const zoom = d3.zoom().on("zoom", ({ transform }) => {
state.scale = transform.k;
state.area = 1 / state.scale / state.scale;
state.translate = [transform.x, transform.y];
draw();
});
d3.select(context.canvas)
.call(zoom)
.call(zoom.transform, this ? d3.zoomTransform(this) : d3.zoomIdentity);
return context.canvas;
}