zoom 18投影

时间:2013-01-30 19:43:11

标签: google-maps-api-3 zoom satellite

我已经编写了一个用于overlay.getTileUrl(tileCoord,zoom)的平铺图像生成器,它可以按照预期的方式运行地图类型Road_Map,缩放级别为21

function tile2lng(x,z) { return (x/Math.pow(2,z)*360-180); }
function tile2lat(y,z) { var n=Math.PI-2*Math.PI*y/Math.pow(2,z);
return (180/Math.PI*Math.atan(0.5*(Math.exp(n)-Math.exp(-n)))); }

at lat / lng 37.21 / -77.26

当卫星地图缩放到第18级时,请求的叠加层的平铺坐标计算为纬度/经度27.37 / -77.26

实际上,加载地图似乎有两遍。正确请求第一个tile lat / lng,然后发生Projection_Changed事件,然后重新请求tile,并且lat / lng计算不正确。似乎在地图缩放18到21处显示的卫星图块的投影不是标准的Google mercator投影。 overlay.getTileURL(coord,zoom)如何检测此更改?

当地图缩放18到21时,为卫星图块计算纬度/经度的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

答案是:此时,没有暴露的投影参数。

我真正需要的是:

map.setTilt(0);

我没有意识到谷歌地图自动渲染卫星变焦18及更高,倾斜度设置为45,这改变了标准基本地图投影。

快乐的日子!