d3
Version:
A small, free JavaScript library for manipulating documents based on data.
28 lines (23 loc) • 652 B
JavaScript
d3.geo.mercator = function() {
var scale = 500,
translate = [480, 250];
function mercator(coordinates) {
var x = (coordinates[0]) / 360,
y = (-180 / Math.PI * Math.log(Math.tan(Math.PI / 4 + coordinates[1] * Math.PI / 360))) / 360;
return [
scale * x + translate[0],
scale * Math.max(-.5, Math.min(.5, y)) + translate[1]
];
}
mercator.scale = function(x) {
if (!arguments.length) return scale;
scale = +x;
return mercator;
};
mercator.translate = function(x) {
if (!arguments.length) return translate;
translate = [+x[0], +x[1]];
return mercator;
};
return mercator;
};