哇塞,有好吃的~

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

直接上代码

  // 平面坐标转换经纬度
  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];
  };
posted @ 2020-05-07 10:22  风行者夜色  阅读(4064)  评论(0编辑  收藏  举报