Use d3.mouse to get the coordinates of the pixel, and then use the projection ( d3.geo.azimuthal to invert x and y to longitude and latitude. For example:
d3.select("svg").on("mousedown.log", function() { console.log(projection.invert(d3.mouse(this))); });
If you want to maintain a click on an SVG background, you might also need an invisible rectangle with event pointers: that's it. (Also note: older versions of D3 used d3.svg.mouse, not d3.mouse.)
source share