[原创]Google maps代码分析之三
[原创]Google maps代码分析之三 google maps把主要的js代码都搞混了,一来是为了不让你们看懂,二来缩短变量和函数名应该也能加快速度吧。
下面是分析到现在的一些成果 引擎版本2.36
下载地址:http://www.micatch.net/blog/article.asp?id=33
只分析了十分之一
//文件结构
/*注释*/
(function(){ ......三千多行的代码....... } )()
P()
B.prototype.zd=function(a){var b=this.ia();
var c=a.ia();
var d=b-c;
var e=this.ka()-a.ka();
var f=2*Math.asin(Math.sqrt(Math.pow(Math.sin(d/2),2)+Math.cos(b)*Math.cos(c)*Math.pow(Math.sin(e/2),2)));
return f*6378137}
//以下函数用于向数组里添加变量/改变变量
function P(a,b){window[a]=b} //添加至window数组
function O(a,b,c){a.prototype[b]=c}//添加至对象原形
function Zc(a,b,c){a[b]=c}//添加至指定数组
function Fb(a)//用于检测浏览器版本
C=new Fb(navigator.userAgent);//实例化
function r(a,b,c,d)//在a中新建(插入)b元素定位于c大小为d
function Sb(a,b){var c=kb(b).createTextNode(a);//在b中插入字符串a
function u(a){return Math.round(a)}//取整
function Xa(a){return Math.floor(a)}//取<=的整数
function xb(a){return Math.ceil(a)}//取>=的整数
function N(a,b){return Math.max(a,b)}//明显啊
function S(a,b){return Math.min(a,b)}//不解释了
function U(a){return Math.abs(a)}//绝对值
function J(a){return u(a)+'px'}//返回'a'px形式字符串
function Ac(a){return a+'em'}//同上
function Kc(a){return u(a)+'%'}//原理同上
function M(a,b){if(a&&!b){b=a}if(a){var c=Ia(a.ia(),-z/2,z/2);
325
//变量
var fc=['opera','msie','safari','firefox','mozilla'];//检测浏览器版本用 函数function Fb(a)
var pc=['x11;','macintosh','windows']; //检测操作系统用 调用函数同上
//调用过程
w()
-->m()
-->yb() function yb(a){var b;while(b=a.firstChild){Bc(b);a.removeChild(b)}}//清空a元素
-->Qb()function Qb(a,b,c,d)//将b数组中变量压入a中cd可选为开始结束位置
-->Ya//一个数组 存放了什么有待观察
-->wd()//a.style.overflow='hidden'
-->jd()//返回相应的style值
-->Dd()//style.position='relative'
-->$b()//指定位置插入一个div并返回
-->$()
-->D()
-->F()
-->G()
-->gb()
-->v()
-->Da()
-->db()