const GPS = {
PI: 3.14159265358979324,
x_pi: 3.14159265358979324 * 3000.0 / 180.0,
delta(lat, lng) {
// Krasovsky 1940
//
// a = 6378245.0, 1/f = 298.3
// b = a * (1 - f)
// ee = (a^2 - b^2) / a^2;
let a = 6378245.0; // a: 卫星椭球坐标投影到平面地图坐标系的投影因子。
let ee = 0.00669342162296594323; // ee: 椭球的偏心率。
let dLat = this.transformLat(lng - 105.0, lat - 35.0);
let dLng = this.transformLng(lng - 105.0, lat - 35.0);
let radLat = lat / 180.0 * this.PI;
let magic = Math.sin(radLat);
magic = 1 - ee * magic * magic;
let sqrtMagic = Math.sqrt(magic);
dLat = (dLat * 180.0) / ((a * (1 - ee)) / (magic * sqrtMagic) * this.PI);
dLng = (dLng * 180.0) / (a / sqrtMagic * Math.cos(radLat) * this.PI);
return {
lat: dLat,
lng: dLng
};
},
//WGS-84 to GCJ-02
gcj_encrypt(wgsLat, wgsLng) {
if (this.outOfChina(wgsLat, wgsLng))
return {
lat: wgsLat,
lng: wgsLng
};
let d = this.delta(wgsLat, wgsLng);
return {
lat: wgsLat + d.lat,
lng: wgsLng + d.lng
};
},
//GCJ-02 to WGS-84
gcj_decrypt(gcjLat, gcjLng) {
if (this.outOfChina(gcjLat, gcjLng))
return {
lat: gcjLat,
lng: gcjLng
js 地图坐标互转
最新推荐文章于 2024-03-05 18:17:41 发布
本文详细介绍了JavaScript中如何进行地图坐标系统的互转,包括经纬度与屏幕像素坐标之间的转换,适用于网页地图应用开发。
摘要由CSDN通过智能技术生成