在Google Maps API v3中获取自定义磁贴的中心LatLng点

时间:2014-09-23 08:39:48

标签: javascript google-maps google-maps-api-3

我有一个我需要与之交谈的自定义地图类型API。

我想使用Google地图的“平铺”功能获取地图图片。我的瓷砖设置如下:https://developers.google.com/maps/documentation/javascript/examples/maptype-overlay?hl=nl

获取不同瓷砖图像的API要求我为每个瓷砖设置一个中心点。

那么我如何得到/计算每个瓦片的中心LatLng点?

2 个答案:

答案 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

相关问题