drawCities = (wrapper, cities, projection) => {
const cityMarks = wrapper.selectAll("g.city").data(cities)
.join("g")
.style("pointer-events", "none")
.attr("transform", d => `translate(${projection(d.coordinates)[0]}, ${projection(d.coordinates)[1]})`)
cityMarks.append("circle")
.attr("r", width < 500 ? 2.5 : 3)
cityMarks.append("text")
.text(d => d.label)
.style("font-family", "sans-serif")
.attr("dx", 5)
.attr("dy", width < 500 ? 3 : 4)
.style("font-size", width < 500 ? 7 : 12)
.call(halo)
}