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