我已经编写了一个与 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 时,计算卫星图块的纬度/经度的正确方法是什么?