//经纬度转墨卡托
public void loc_to_mercator(double lon, double lat,ref double miX,ref double minY)
{
double x = lon;
double y = Math.Log(Math.Tan((lat / 180 * Math.PI + Math.PI / 2) / 2)) * 180 / Math.PI;
miX = x * 20037508.3427892 / 180;
minY = y * 20037508.3427892 / 180;
}
//摩卡脱转经纬度
public void mercator_to_loc(double mercator_x, double mercator_y, ref double lon, ref double lat)
{
double x = mercator_x / 20037508.3427892 * 180;
double y = mercator_y / 20037508.3427892 * 180;
lon = x;
lat = 180 / Math.PI * (2 * Math.Atan(Math.Exp(y * Math.PI / 180)) - Math.PI / 2);
}