标题: google卫星地图的url计算
- pany之家 2006-04-27 20:47 阅读:1557
- 评论:5 查看评论 | 添加评论
通过url跟踪,可以方便地取得google maps普通地图的图片url,如:
GET /mt?n=404&v=w2.10&x=3&y=6&zoom=13 HTTP/1.1
而对卫星地图图片的url像:
GET /kh?n=404&v=5&t=tqtsq HTTP/1.1
就不知它的t参数含义了。
今天看了看地图的.js文件,找到了如下代码,可以计算这个参数,也就可以动态构造出相应的url去批量下载卫星地图了。
代码如下:

[图片]<script>
[图片]
[图片]function MapObj()
[图片][图片][图片]{
[图片]    this.x;
[图片]    this.y;
[图片]}
[图片]
[图片]function test()
[图片][图片][图片]{
[图片]    var o = new MapObj();
[图片]    var ss = document.all("txtPos").value.split(",");
[图片]    o.x = ss[0];
[图片]    o.y = ss[1];
[图片]    var zoom = parseInt(document.all("txtFactor").value);
[图片]    var ret = cal(o, 17 - zoom);
[图片]    document.all("txtMess").value = ret;
[图片]}
[图片]function cal(a,b)
[图片][图片][图片]{
[图片]    var c=Math.pow(2,b);//比例参数, 地图宽度图片数量
[图片]    var d=a.x;//a is the map object
[图片]    var e=a.y;
[图片]    var f="t";
[图片][图片]    /**//*
[图片]    zoom = 13; b = 4; c = 2^4 = 16;
[图片]    */
[图片]    for(var g=0;g<b;g++)//
[图片][图片]    [图片]{
[图片]        c=c/2;        // c / 2
[图片]        if(e<c)        //a.y < c
[图片][图片]        [图片]{
[图片]            if(d<c)//a.x < c
[图片][图片]            [图片]{
[图片]                f+="q"
[图片]            }
[图片]            else//a.x >= c
[图片][图片]            [图片]{
[图片]                f+="r";
[图片]                d-=c //a.x = a.x - c
[图片]            }
[图片]        }
[图片]        else//a.y >= c
[图片][图片]        [图片]{
[图片]            if(d<c)//a.x < c
[图片][图片]            [图片]{
[图片]                f+="t";
[图片]                e-=c //a.y = a.y - c
[图片]            }
[图片]            else//a.x >= c
[图片][图片]            [图片]{
[图片]                f+="s";
[图片]                d-=c;  //a.x = a.x - c
[图片]                e-=c   //a.y = a.y - c
[图片]            }
[图片]        }
[图片]    }
[图片]    return "t=" + f;
[图片]    //var h=(a.x+a.y)%this.wa.length;//
[图片]    //return this.wa[h]+"t="+f
[图片]}
[图片]</script>
[图片](x,y)<input type=text id="txtPos" value="3,7"><br>
[图片]zoom:<input type=text id="txtFactor" value="13">
[图片]<input type=button value="check" onclick="test()">
[图片]
[图片]<br>
[图片]   <input type=text id="txtMess">


查看评论 | 添加评论
返回顶部 | 返回首页