<strong>百度坐标和火星坐标的相互转化</strong>
<span style="white-space:pre"> </span>/**
* 坐标转化常量
*/
x_pi:3.14159265358979324 * 3000.0 / 180.0,
/**
* 将 BD-09 坐标转换成 GCJ-02 坐标
* GoogleMap和高德map用的是同一个坐标系GCJ-02
* */
bd_decrypt:function(ret){
var bd_lat = ret.lat;
var bd_lon = ret.lon;
var gg_lat = 0.0;
var gg_lon = 0.0;
var x = bd_lon - 0.0065, y = bd_lat - 0.006;
var z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * action.x_pi);
var theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * action.x_pi);
gg_lon = z * Math.cos(theta);
gg_lat = z * Math.sin(theta);
var gg_ret = {
lat:gg_lat,
lon:gg_lon
}
return gg_ret;
},
/**
* 将 GCJ-02 坐标转换成 BD-09 坐标
* GoogleMap和高德map用的是同一个坐标系GCJ-02
* */
bd_encrypt:function(ret){
var gg_lon = ret.lon
var gg_lat = ret.lat
var bd_lat = 0.0;
var bd_lon = 0.0;
var x = gg_lon, y = gg_lat;
var z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * action.x_pi);
var theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * action.x_pi);
bd_lon = z * Math.cos(theta) + 0.0065;
bd_lat = z * Math.sin(theta) + 0.006;
var bd_ret = {
lat:bd_lat,
lon:bd_lon
}
return bd_ret;
}