gis de WGS84 a su vez Baidu

var x_pi = 3.14159265358979324 * 3000,0 / 180,0 ;
pi var = 3,1415926535897932384626;
var a = 6378245.0;
ee var = ,00669342162296594323;

 


// determina ya sea en casa, fuera del país no se compensa
la función out_of_china (GNL, LAT) {
return (GNL> 73.66 GNL && <&& LAT 135.05> 3,86 && LAT <53.55) a la verdadera :? Para false;
}

 

función (lng, lat) _transformlng {
ret = 300,0 + u + 2,0 * + 0,1 * lat lng lng * +
0,1 * u * lat + 0,1 * Math.sqrt (Math.abs (GNL))
ret + = (20.0 * Math .¿Quién (6,0 * i * pi) + 20,0 *
Math.sin (2,0 * i * pi)) * 2,0 / 3,0
ret + = (20.0 * Math.sin (i * pi) + 40,0 *
Math.sin (lng / 3.0 pi *)) * 2,0 / 3,0
ret + = (150,0 * Math.sin (GNL / 12,0 pi *) + 300,0 *
Math.sin (GNL / 30,0 pi *)) * 2,0 / 3,0
retorno ret;
}

 

 

función wgs84_to_gcj02 (LNG, lat) {
si (out_of_china (LNG, lat)) {
retorno [lng, lat];
} Else {
var dLat = _transformlat (lng - 105.0, lat - 35.0);
var dlnG = _transformlng (lng - 105.0, lat - 35.0);
var radlat = lat / 180.0 * pi;
magia var = Math.sin (radlat);
magia = 1 - ee * * mágica mágica;
sqrtmagic var = Math.sqrt (magia);
dLat = (dLat * 180,0) / ((a * (1 - ee)) / (magia * sqrtmagic) * pi);
dlnG = (dlnG * 180,0) / (a / sqrtmagic * Math.cos (radlat) * pi);
var mglat = accAdd (lat, dLat);
var mglng = accAdd (lng, dlnG);
console.log (mglng + "------" + mglat)
de retorno [mglng, mglat];
}
}

// ji recuento valor se añade con gran precisión tanto

función accAdd (datos1, datos2) {
var r1, r2, m, c;
try {
r1 = data1.toString split () ( "") [1] .length.;
} Catch (e) {
r1 = 0;
}
Try {
r2 = data2.toString split () [1] .length. ( "");
} Catch (e) {
r2 = 0;
}
C = Math.abs (r1 - r2);
m = Math.pow (10, Math.max (r1, r2));
si (c> 0) {
var cm = Math.pow (10, c);
si (r1> r2) {
datos1 = Número (data1.toString () reemplazará ( ""). "");
datos2 = Número (data2.toString () sustituir ( ""). "") * cm;
} Else {
datos1 = Número (. Data1.toString () en lugar de ( "") "") * cm;
datos2 = Número (data2.toString (). sustituir ( "" ""));
}
} Else {
datos1 = Número (data1.toString () sustituir ( ""). "");
datos2 = Número (data2.toString () sustituir ( ""). "");
}
Retorno (+ data2 datos1) / m;
}

 

Huo_xing zuo_biao zhuan_huan bai_du zuo_biao //
de la función gcj02tobd (lng, lat) {
console.log (lng + '+++++' + lat);
var pts = wgs84_to_gcj02 (lng, lat );
lng = pts [0];
lat = pts [1];
console.log (lng + '*****' + lat);
// var x_PI = 3.14159265358979324 * 3000,0 / 180,0;
// var PI = 3,1415926535897932384626;
// var a = 6378245.0;
// var ee = ,00669342162296594323;
var z = Math.sqrt (lng * lng + lat * lat) + 0,00002 * Math.sin (lat * x_pi);
var theta = Math.atan2 (lat, lng ) + 0,000003 * Math.cos (lng * x_pi);
var bd_lng = z * Math.cos (theta ) + 0,0065;
var bd_lat = z * Math.sin (theta ) + 0,006;
por el retorno [bdlng, bdlat]
}

 

 

Finalmente encontró un montón de información correcta sobre. . grabarlo

Supongo que te gusta

Origin www.cnblogs.com/yeyuqian/p/12575458.html
Recomendado
Clasificación