map = {
const svg = d3
.create("svg")
.attr("viewBox", [0, 0, width, height])
.style("width", "100%")
.style("height", "auto")
.style("background-color", "white");
svg.append("g").call(template);
svg.append("g").call(drawIsochrones);
svg.append("g").call(legend).attr("transform", "translate(65, 520)");
svg
.selectAll(".isochrones")
.on("touchmove mousemove", function (e, d) {
d3.select(this).attr("fill", "#547096");
d3.select(`#leg_${d.properties.isochrone20m*20}`)
.attr("stroke", "#547096")
.raise();
})
.on("touchend mouseleave", function (e, d) {
d3.select(this).attr("fill", color(d.properties.isochrone20m));
d3.select(`#leg_${d.properties.isochrone20m*20}`).attr("stroke", "none");
});
svg
.selectAll(".leg")
.on("touchmove mousemove", function (e, d) {
d3.select(this).attr("stroke", "#547096").raise();
d3.select(`#isochrone_${d/20}`).attr("fill", "#547096");
})
.on("touchend mouseleave", function (e, d) {
d3.select(this).attr("stroke", "none");
d3.select(`#isochrone_${d/20}`).attr("fill", color(d/20));
});
return svg.node();
}