间距大于 0 的 Mapbox gl 原生拼接瓦片

Mapbox gl native stitching tiles with pitch greater than 0

Mapbox-gl-native 允许在服务器端渲染矢量图块。 API 通过传递图块的中心坐标来渲染图块。

它returns 一张地图图块图像。要获得更大的图像,需要渲染多个图块并将它们拼接在一起。要从一个图块移动到相邻的图块非常简单,您必须将缩放级别的分辨率乘以图块地理信息的宽度或高度(取决于您想要相邻图块的方向)。

因此,如果我有一个以中心点 [24.5 56.2] 渲染的图块,并且我希望它旁边的图块在右边,我会像这样计算它的中心:

offset = levelResolution * 256

centerPointInWebMercator->x += 偏移量

adjacentTileCenter = toLatLon(centerPointInWebMercator)

这确实有效。问题是当瓷砖的间距值大于 0 时。 在这种情况下,上述算法似乎不正确,因为图块未正确对齐。

这里是请求的两个图块的示例,第一个问题是它们包含重复信息,第二个问题是一些重复的特征似乎有不同的定位(旋转不同)请参见突出显示的区域

好的,我找到了解决方案,问题是我使用默认大小 512x512 渲染图块,然后缩放到更高分辨率。

但是可以通过将此大小增加到更大的值来增加地图大小。