0

我已经编写了一个与 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)))); }

在 lat/lng 37.21 / -77.26

当卫星地图缩放到 18 级时,所请求的叠加图块的图块坐标计算为 lat/lng 27.37 / -77.26

实际上,加载地图时似乎有两次通过。首先正确请求平铺 lat/lng,然后发生 Projection_Changed 事件,然后重新请求平铺但 lat/lng 计算不正确。在地图缩放 18 到 21 显示的卫星图块的投影似乎不是标准的谷歌墨卡托投影。overlay.getTileURL(coord,zoom) 应该如何检测到这种变化?

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

4

1 回答 1

0

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

我真正需要的:

map.setTilt(0);

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

快乐的时光!

于 2013-02-11T18:37:45.810 回答