具有后备和灰度的单张瓷砖提供程序

时间:2019-05-19 14:50:27

标签: leaflet

我目前正在为传单使用两个插件: https://github.com/ghybs/Leaflet.TileLayer.Fallback,如果当前缩放级别的图块不可用,则允许我的地图退回到更高的缩放级别。 https://github.com/Zverik/leaflet-grayscale,使我的背景地图拼贴为灰度。 我希望能够同时做这两项。

我尝试使灰度插件扩展后备对象,但这没用。

如何使传单灰度级扩展TileLayer.Fallback而不是TileLayer?

理想情况下,我想要一个新的FallbackGreyscale对象,或者类似L.tileLayer.fallback.greyscale的对象。但是我可以同时兼有后备和灰阶的任何方式都很好。

1 个答案:

答案 0 :(得分:1)

传单灰度使用一种低效的方法将图像转换为灰度:将其绘制为画布。这样做是为了与旧版浏览器兼容。使用此技术使其可以在IE中使用,但兼容性却很复杂。

如果您仅定位到implement the filter CSS rule的浏览器,则完成所需操作的最简单方法是修改_tileOnError() method of Leaflet.TileLayer.Fallback,以便将grayscale filter样式应用于图块,即:

style.filter = 'grayscale(1)';