经纬度和墨卡托互相转换
不要问我经墨卡托体系是神马,google上有;另外,这个是C#代码,其他语言请自行翻译~阿门
//经纬度转墨卡托 public MapPoint lonLat2Mercator(MapPoint lonLat) { MapPoint mercator = new MapPoint(); double x = lonLat.X * 20037508.34 / 180; double 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; return mercator; } //墨卡托转经纬度 public MapPoint Mercator2lonLat(MapPoint mercator) { MapPoint lonLat = new MapPoint(); double x = mercator.X / 20037508.34 * 180; double y = mercator.Y / 20037508.34 * 180; y = 180 / Math.PI * (2 * Math.Atan(Math.Exp(y * Math.PI / 180)) - Math.PI / 2); lonLat.X = x; lonLat.Y = y; return lonLat; }