我正在尝试基于
OpenSimulator
为我的游戏创建网络地图。
所有图像都出现在一个位置(例如:https://example.com/map-1-1000-1000-objects.jpg)。
现在我正在尝试在我的世界地图上显示这些图像。我可以毫无问题地实施传单。我认为我的问题是 latlng 的转换,因为我的世界坐标没有任何小数(如上面的示例)。
1000x1000 表示 X x Y。“/map-”之后的第一个类型是缩放(默认情况下只有 1)。所以整个网址是:
/map-(Z)-(X)-(Y)-objects.jpg
.
如何用传单展示这些瓷砖?
问题是你的图块命名方案直接包含你的“坐标”;因此它们不遵循 Leaflet 默认 Tile Layer 假定的四叉树命名约定。
您可以通过覆盖 [
getTileUrl
](https://github.com/Leaflet/Leaflet/blob/v1.5.1/src/layer/tile/TileLayer.js#L163 轻松调整 Leaflet Tile Layer 以满足您的需求-L186]方法。
在您的开发者控制台中,您将看到 Leaflet 发出的请求的 URL,因此您可以更轻松地调整 getTileUrl 的实现。
如果您的图块如您所描述的那样可访问,那么您可以在 Leaflet 中实现图块层,如下所示:
L.tileLayer('https://example.com/map-{Z}-{X}-{Y}-objects.jpg');
可能需要其他选项,但这应该可以帮助您开始。