1、火星坐标转为百度坐标:
1 function bd_encrypt(gg_lon, gg_lat){ 2 var X_PI = Math.PI * 3000.0 / 180.0; 3 var x = gg_lon, y = gg_lat; 4 var z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * X_PI); 5 var theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * X_PI); 6 var bd_lon = z * Math.cos(theta) + 0.0065; 7 var bd_lat = z * Math.sin(theta) + 0.006; 8 return { 9 bd_lat: bd_lat, 10 bd_lon: bd_lon 11 }; 12 } 13
2、百度坐标转化为火星坐标:
1 function bd_decrypt(bd_lon,bd_lat) { 2 var X_PI = Math.Pi * 3000.0 / 180.0; 3 var x = bd_lon - 0.0065; 4 var y = bd_lat - 0.006; 5 var z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * X_PI); 6 var theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * X_PI); 7 var gg_lon = z * Math.cos(theta); 8 var gg_lat = z * Math.sin(theta); 9 return { 10 gg_lon: gg_lon, 11 gg_lat: gg_lat 12 } 13 }