Leaflet - 防止在MaxBounds外部加载tile

时间:2016-08-04 18:57:15

标签: leaflet

我遇到传单试图加载不存在且不在我的MaxBounds之外的图块的问题。

jsfiddle replicating issue with my tileset 最后还尝试了以下内容:

map.setBounds(new L.LatLngBounds(southWest, northEast));

但这似乎只是在不解决我的问题的情况下打破弹出窗口和标记以及其他所有内容。

地图的完整尺寸为4096x4096

无关的问题,是否可以更改coord系统以始终使用未投影的像素坐标,而无需在放置每个标记或获得常规坐标时使用unproject?

1 个答案:

答案 0 :(得分:5)

告诉Leaflet您的Tile Layers没有任何图块可以在预定范围之外提供,只需使用bounds选项。

在你的情况下,我猜它会与你地图的最大界限相同。

我发现您正在尝试显示游戏地图,这就是您需要将CRS更改为L.CRS.Simple的原因。当您错误地将crs选项应用于您的平铺图层而不是地图时要小心,因此它没有任何效果,除了您的计算边界然后与地图CRS不匹配,并且您的map.setMaxBounds()限制导航到哪里你可能不希望。

请注意,您应该单独提出问题。

顺便说一句,不确定为什么在Tile Layer上使用tms选项。与之前的缩放级别相比,缩放级别4的瓷砖似乎完全不匹配。更新了JSFiddle:https://jsfiddle.net/f2Ljzpbh/2/

相关问题