Leaflet缩放更多并拉伸瓦片

26
当我在地图上缩放到一定程度时,TileLayer消失了,我看到一堆写着“地图数据尚未可用”的瓷砖。我认为这些瓷砖可能是来自供应商,但我不确定(我正在使用ESRI WorldImagery数据集)。
有没有办法,在某个缩放级别下,只是强制让瓷砖拉伸,而不是请求该缩放级别的瓷砖?我可以接受一些模糊,但我确实需要进一步缩放。
我尝试调整zoomOffset选项,但每当我将其设置为非0值时,我的瓷砖就永远不会加载(全部变成灰色)。
谢谢!

我正在寻找完全相同的东西。它们确实是由ESRI提供的。(请参见http://services.arcgisonline.com/arcgis/rest/services/World_Street_Map/MapServer/tile/17/59010/68784)。与Open Street Map不同,例如,它会抛出404并导致其TileLayer文件中的“tileerror”事件。我一整天都在与这个问题斗争,你发帖后有找到任何解决方法吗? - cscott530
很遗憾,不是的。我采取了怯懦的方式,使用了(不太美观的)Open MapQuest瓷砖集... - elsurudo
我正在寻找与MapBox卫星提供的最高缩放级别相比支持缩放的相同功能,只需显示相同的瓦片,但将其拉伸到更高的缩放级别。这是我目前看到的MapBox和Google之间的主要区别。Google并不一定具有更高的分辨率,但在更高的缩放级别下使用起来更方便,尽管它被“过度缩放”。我希望能找到一个Leaflet插件来实现这一点,但还没有找到任何东西。 - JasonRDalton
1个回答

35

通过使用 L.TileLayer 的两个选项可以解决这个问题。

首先,将 maxNativeZoom 设置为您的瓦片提供的最高缩放级别(在“地图数据不可用”开始出现之前的最后一个缩放级别) - 这告诉 Leaflet 在缩放超过此级别时停止请求新瓦片; 会使用拉伸的瓦片。

其次,将 maxZoom 设置为适当的缩放级别;您可能不希望此值超过 maxNativeZoom 高几个级别,因为拉伸的瓦片可能看起来非常糟糕。

您可以在 L.TileLayer 的文档中的“选项”下查找有关详细信息:http://leafletjs.com/reference.html#tilelayer


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接