谷歌地图坐标纠偏算法javascript版.docx
- 文档编号:341716
- 上传时间:2022-10-09
- 格式:DOCX
- 页数:2
- 大小:10.74KB
谷歌地图坐标纠偏算法javascript版.docx
《谷歌地图坐标纠偏算法javascript版.docx》由会员分享,可在线阅读,更多相关《谷歌地图坐标纠偏算法javascript版.docx(2页珍藏版)》请在冰豆网上搜索。
/**
*gps纠偏算法,适用于google,高德体系的地图
*/
varpi=3.14159265358979324;
varaa=6378245.0;
varee=0.00669342162296594323;
varGpsCorrect={
transform:
function(wgLat,wgLon){
varlatlng=[];
if(GpsCorrect.outOfChina(wgLat,wgLon)){
latlng[0]=parseFloat(wgLat);
latlng[1]=parseFloat(wgLon);
}else{
vardLat=GpsCorrect.transformLat(wgLon-105.0,wgLat-35.0);
vardLon=GpsCorrect.transformLon(wgLon-105.0,wgLat-35.0);
varradLat=wgLat/180.0*pi;
varmagic=Math.sin(radLat);
magic=1-ee*magic*magic;
varsqrtMagic=Math.sqrt(magic);
dLat=(dLat*180.0)/((aa*(1-ee))/(magic*sqrtMagic)*pi);
dLon=(dLon*180.0)/(aa/sqrtMagic*Math.cos(radLat)*pi);
latlng[0]=parseFloat(wgLat)+dLat;
latlng[1]=parseFloat(wgLon)+dLon;
}
returnlatlng;
},
outOfChina:
function(lat,lon){
if(lon<72.004||lon>137.8347)
returntrue;
if(lat<0.8293||lat>55.8271)
returntrue;
returnfalse;
},
transformLat:
function(x,y){
varret=-100.0+2.0*x+3.0*y+0.2*y*y+0.1*x*y+0.2*Math.sqrt(Math.abs(x));
ret+=(20.0*Math.sin(6.0*x*pi)+20.0*Math.sin(2.0*x*pi))*2.0/3.0;
ret+=(20.0*Math.sin(y*pi)+40.0*Math.sin(y/3.0*pi))*2.0/3.0;
ret+=(160.0*Math.sin(y/12.0*pi)+320*Math.sin(y*pi/30.0))*2.0/3.0;
returnret;
},
transformLon:
function(x,y){
varret=300.0+x+2.0*y+0.1*x*x+0.1*x*y+0.1*Math.sqrt(Math.abs(x));
ret+=(20.0*Math.sin(6.0*x*pi)+20.0*Math.sin(2.0*x*pi))*2.0/3.0;
ret+=(20.0*Math.sin(x*pi)+40.0*Math.sin(x/3.0*pi))*2.0/3.0;
ret+=(150.0*Math.sin(x/12.0*pi)+300.0*Math.sin(x/30.0*pi))*2.0/3.0;
returnret;
}
}
调用:
varpointCorrect=GpsCorrect.transform(mapY,mapX);
lo=pointCorrect[1];
la=pointCorrect[0];
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 地图 坐标 纠偏 算法 javascript
![提示](https://static.bdocx.com/images/bang_tan.gif)