This is the first step in an experiment on the problem of automatic positioning of labels on a map. You can drag de central label "Hello" and move over the other labels and you will see how the overlapped labels automatically change their positions. The function is called multiple times on each drag event, but the idea is to call only once on to a map.
Modified http://d3js.org/d3.v3.min.js to a secure url
https://d3js.org/d3.v3.min.js