我有一个我需要与之交谈的自定义地图类型API。
我想使用Google地图的“平铺”功能获取地图图片。我的瓷砖设置如下:https://developers.google.com/maps/documentation/javascript/examples/maptype-overlay?hl=nl
获取不同瓷砖图像的API要求我为每个瓷砖设置一个中心点。
那么我如何得到/计算每个瓦片的中心LatLng点?
答案 0 :(得分:2)
好的我明白了。
这就是我的所作所为。
每个图块(x,y)和缩放以及图块大小都有一个图块坐标。
首先,我们将新的Google MapsPoint制作到拼贴的中心点:
var centerpoint = new google.maps.Point((coord.x * tileSize) + (tileSize / 2), ((coord.y + 1) * tileSize) + (tileSize / 2));
然后将这些x,y坐标转换为LatLng(转换函数及其后面的数学可以在http://www.maptiler.org上找到)
所以它实际上非常简单......
答案 1 :(得分:1)
您也可以直接计算:
n = 2 ^ zoom
lon_deg = xtile / n * 360.0 - 180.0
lat_rad = arctan(sinh(π * (1 - 2 * ytile / n)))
lat_deg = lat_rad * 180.0 / π
各种语言的源代码和代码示例:http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames#Tile_numbers_to_lon..2Flat。