为在线游戏创建网络地图时出现问题

问题描述 投票:0回答:2

我正在尝试基于

OpenSimulator
为我的游戏创建网络地图。

所有图像都出现在一个位置(例如:https://example.com/map-1-1000-1000-objects.jpg)。

现在我正在尝试在我的世界地图上显示这些图像。我可以毫无问题地实施传单。我认为我的问题是 latlng 的转换,因为我的世界坐标没有任何小数(如上面的示例)。

1000x1000 表示 X x Y。“/map-”之后的第一个类型是缩放(默认情况下只有 1)。所以整个网址是:

/map-(Z)-(X)-(Y)-objects.jpg
.

如何用传单展示这些瓷砖?

javascript php leaflet
2个回答
1
投票

问题是你的图块命名方案直接包含你的“坐标”;因此它们不遵循 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 的实现。


0
投票

如果您的图块如您所描述的那样可访问,那么您可以在 Leaflet 中实现图块层,如下所示:

L.tileLayer('https://example.com/map-{Z}-{X}-{Y}-objects.jpg');

可能需要其他选项,但这应该可以帮助您开始。

© www.soinside.com 2019 - 2024. All rights reserved.