Coordinate transformation: Coordinates & Mercator

var lonlat = {x: 114.514864, and: 38.04232};
var mercator = {x: 12747736.346966475, and: 4585405.935084799};

//经纬度转墨卡托
lonlat2mercator function (lonlat) {
var mercator = {x: 0, y: 0};
var x = lonlat.x * 20037508.34 / 180;
var y = Math.log (Math.tan ((90 + lonlat.y) * Math.PI / 360)) / (Math.PI / 180);
y = y * 20037508.34 / 180;
mercator.x = x;
mercator.y = y;
mercator return;
}

//墨卡托转经纬度
function mercator2lonlat (mercator) {
var lonlat = {x: 0, y: 0};
var x = mercator.x / 20037508.34 * 180;
var y = mercator.y / 20037508.34 * 180;
y = 180 / Math.PI * (2 * atan (math.exp (y * Math.PI / 180)) - Math.PI / 2);
lonlat.x = x;
lonlat.y = y;
lonlat return;

}

 

// turn latitude and longitude Mercator

DX = sGeometry.x var / * 180 [20,037,508.34;
var = sGeometry.y Dy / * 180 [20,037,508.34;
var = M_PI Math.PI;
Dy = 180 [/ M_PI * (2 * to Math.atan (Math.exp (Dy M_PI * / 180 [)) - M_PI / 2);
// x is the geographical coordinates: 122.10626710683903
// y is from geographical coordinates: 37.48735577057014
@ x = DX;
// y = Dy;
var Cpoint new new esri.geometry.Point = ();
Cpoint DX = .x;
cPoint.y = Dy;
the console.log (Cpoint);
map.centerAt (Cpoint);

Guess you like

Origin www.cnblogs.com/rzqy/p/11118422.html