作者:程橙屋04_kc275_938 | 来源:互联网 | 2023-05-27 04:24
/**
* 百度坐标系 (BD-09) 与 火星坐标系 (GCJ-02)的转换
* 即 百度 转 谷歌、高德
*
@param
{*}
lat
百度纬度
*
@param
{*}
lng
百度经度
*/
const
bdTogcj =
function(
lat,
lng) {
let
x_pi =
3.14159265358979324 *
3000.0 /
180.0;
let
x =
lng -
0.0065;
let
y =
lat -
0.006;
let
z =
Math.
sqrt(
x *
x +
y *
y) -
0.00002 *
Math.
sin(
y *
x_pi);
let
theta =
Math.
atan2(
y,
x) -
0.000003 *
Math.
cos(
x *
x_pi);
let
g2_lnn =
z *
Math.
cos(
theta);
let
g2_lat =
z *
Math.
sin(
theta);
return [
g2_lat,
g2_lnn]
}
/**
* 火星坐标系 (GCJ-02) 与百度坐标系 (BD-09) 的转换
* 即谷歌、高德 转 百度
*
@param
{*}
g2_lat
火星坐标纬度
*
@param
{*}
g2_lng
火星坐标经度
*/
const
gcjTobd =
function(
g2_lat,
g2_lng) {
let
x_pi =
3.14159265358979324 *
3000.0 /
180.0;
let
z =
Math.
sqrt(
g2_lng *
g2_lng +
g2_lat *
g2_lat) +
0.00002 *
Math.
sin(
g2_lat *
x_pi);
let
theta =
Math.
atan2(
g2_lat,
g2_lngg2_lng) +
0.000003 *
Math.
cos(
g2_lng *
x_pi);
let
bd_lng =
z *
Math.
cos(
theta) +
0.0065;
let
bd_lat =
z *
Math.
sin(
theta) +
0.006;
return [
bd_lng,
bd_lat]
}