如何获取已返回的谷歌静态地图的范围,例如,跟随请求
http://maps.googleapis.com/maps/api/staticmap?center=0.0,0.0&zoom=10&size=640x640&sensor=false
Run Code Online (Sandbox Code Playgroud)
据我所知,完整的地球地图是256x256图像.这意味着n个垂直像素包含x度,但n个水平像素包含2x度.对?
正如谷歌所说, 中心定义了地图的中心,与地图的所有边缘等距.据我所知,像素(或度数?)的等距离.并且每个后续缩放级别使水平和垂直尺寸的精度都加倍.所以,我可以找到每个缩放值的地图经度的delta值:
dLongitude = (HorizontalMapSizeInPixels / 256 ) * ( 360 / pow(2, zoom) );
Run Code Online (Sandbox Code Playgroud)
纬度的相同计算:
dLatitude = (VerticalMapSizeInPixels / 256 ) * ( 180 / pow(2, zoom) );
Run Code Online (Sandbox Code Playgroud)
VerticalMapSizeInPixels和HorizontalMapSizeInPixels是URL中地图大小的参数.
计算经度的delta值是好的,但对于Latitude它是错误的.我找不到Latitude的delta值,有一些delta错误.