Accepted answer

On mouse move you update your path:

svg.selectAll("path").attr("d", path);

But you don't update your circles, which you can do by recalculating cx and cy:

    .attr('cx', d => projection([d.Longitude, d.Latitude])[0])
    .attr('cy', d => projection([d.Longitude, d.Latitude])[1])

So the path moves with the mouse, but the circles stay put.

Related Query

More Query from same tag