Accepted answer

You need to separate out the projection so you can use it again to project the lat/lon of your point:

var map = svg.append("g").attr("class", "map");
var projection = d3.geo.albers()
    .translate([590, 570]);
var path = d3.geo.path().projection(projection);
d3.json('myjsonfile.json', function(json) {
      .enter().append('path').attr('d', path);
    // now use the projection to project your coords
    var coordinates = projection([mylon, mylat]);
        .attr('cx', coordinates[0])
        .attr('cy', coordinates[1])
        .attr('r', 5);

Another way to do this is just to translate the dot by the projected coords:

    .attr("transform", function(d) { 
        return "translate(" + projection(d.coordinates) + ")"; 
    .attr('r', 5);

Related Query

More Query from same tag