I'm not too familiar with the D3 mercator projection function, and I'm getting some unexpected results. I'd like to project the following latitude and longitude (somewhere in Mexico):
var geo = [19, -99]
I define my mercator projection using d3
var projection = d3.geo.mercator();
projection(geo)
> [529.7418836818384, NaN]
which is a point obviously not on a map. What exactly am I doing wrong? Thanks!
Javascript has it's lat and long round the opposite way to the rest of the world, so what you've given D3 is a longditue of 19 and a latitude of -99. Obviously there is no latitude of -99 hence the NaN. Now if you just reverse your geo variable to
var geo = [-99, 19]
all should be good.
来源:https://stackoverflow.com/questions/20026640/d3-mercator-function-nan