js 经纬度转换 BD-09 to GCJ-02 (百度转腾讯)

246 阅读1分钟

function transFormBD09toGJC02(bdLat,  bdLon) {
    var x_pi = 3.14159265358979324 * 3000.0 / 180.0
    var  x  =  Number(bdLon)  -  0.0065,
         y  =  Number(bdLat)  -  0.006;  
    var  z  =  Math.sqrt(x  *  x  +  y  *  y)  -  0.00002  *  Math.sin(y  *  x_pi); 
    console.log(x) 
    var  theta  =  Math.atan2(y,  x)  -  0.000003  *  Math.cos(x  *  x_pi);  
    var  gcjLon  =  z  *  Math.cos(theta);  
    var  gcjLat  =  z  *  Math.sin(theta); 
    return  { 
        'lat':  gcjLat,
        'lon':  gcjLon 
    };  
}

console.log(transFormBD09toGJC02('34.794729', '113.691205'))