js gcj02 into wgs84

GCJ-02, also known as the Mars coordinate system, is a geographic information system coordinate system  formulated by the National Bureau of Surveying and Mapping of China (G means Guojia country, C means Cehui surveying and mapping, and J means Juju) .

The specific method is as follows

function gcj02towgs84 (lng, lat) {
  lat = +lat
  lng = +lng
  if (out_of_china(lng, lat)) {
    return [lng, lat]
  } else {
    let dlat = transformlat(lng - 105.0, lat - 35.0)
    let dlng = transformlng(lng - 105.0, lat - 35.0)
    let radlat = lat / 180.0 * PI
    let magic = Math.sin(radlat)
    magic = 1 - ee * magic * magic
    let sqrtmagic = Math.sqrt(magic)
    dlat = (dlat * 180.0) / ((a * (1 - ee)) / (magic * sqrtmagic) * PI)
    dlng = (dlng * 180.0) / (a / sqrtmagic * Math.cos(radlat) * PI)
    let mglat = lat + dlat
    let mglng = lng + dlng
    return [lng * 2 - mglng, lat * 2 - mglat]
  }
}

Guess you like

Origin blog.csdn.net/xm_w_xm/article/details/131578474