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