js 地图坐标转换

 火星坐标转百度坐标

function gcj02_to_bd09(lng, lat) {
    var z = Math.sqrt(lng * lng + lat * lat) + 0.00002 * Math.sin(lat * Math.PI);
    var theta = Math.atan2(lat, lng) + 0.000003 * Math.cos(lng * Math.PI);
    return { lng: z * Math.cos(theta) + 0.0065, lat: z * Math.sin(theta) + 0.006 };
}

 

百度坐标转火星坐标

function bd09_to_gcj02(lng, lat) {
    var x = lng - 0.0065, y = lat - 0.006;
    var z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * Math.PI);
    var theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * Math.PI);
    return {lng:  z * Math.cos(theta), lat: z * Math.sin(theta)};
}

  

posted on 2015-09-22 15:18  Freewing  阅读(1296)  评论(0编辑  收藏  举报