平面坐标与经纬度坐标的相互转换

直接上代码

  // 平面坐标转换经纬度
  const webMercator2LngLat = (x, y) => {
    var lng = (x / 20037508.34) * 180;
    var lat = (y / 20037508.34) * 180;
    lat =
      (180 / Math.PI) *
      (2 * Math.atan(Math.exp((lat * Math.PI) / 180)) - Math.PI / 2);
    return [lng, lat];
  };
  // 经纬度转墨卡托平面坐标
  const lngLat2WebMercator = (lng, lat) => {
    const earthRad = 6378137.0;
    const x = ((lng * Math.PI) / 180) * earthRad;
    const a = (lat * Math.PI) / 180;
    const y =
      (earthRad / 2) * Math.log((1.0 + Math.sin(a)) / (1.0 - Math.sin(a)));
    return [x, y];
  };
原文地址:https://www.cnblogs.com/aloneMing/p/12841224.html