Google maps api 3 缩放18投影

Google maps api 3 缩放18投影,google-maps-api-3,zooming,satellite,Google Maps Api 3,Zooming,Satellite,我已经编写了一个用于overlay.getTileUrl(TileCord,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*(Ma

我已经编写了一个用于overlay.getTileUrl(TileCord,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,然后发生投影更改事件,然后使用错误计算的lat/lng重新请求瓷砖。在地图缩放18到21时显示的卫星图块的投影似乎不是标准的谷歌墨卡托投影。overlay.getTileURL(coord,zoom)应该如何检测此更改


当地图从18缩放到21时,计算卫星地砖lat/lng的正确方法是什么?

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

我真正需要的是:

map.setTilt(0)

我没有意识到谷歌地图自动渲染卫星缩放18和更高,倾斜设置为45,这改变了标准的底图投影


快乐的日子

zoom 18的投影与其他缩放级别没有区别。您使用的叠加类型是什么?(我猜这是一个ImageMapType)。如果是这样,getTileUrl函数应该接受(Point:(x:number,y:number))作为参数,并将URL作为指向自定义磁贴的字符串返回。请发布完整的getTileUrl()函数。请参见从zoom 17开始的[link]中的示例。缩放到18,将坐标平铺到lat/lng给出错误的位置