创建切片服务器,以使Leaflet忽略其中的空切片

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

我正在开发一个Web服务以根据每个图块的XYZ坐标返回TMS图块。

一切正常,但对于某些磁贴,我没有数据,因此我需要返回一个空磁贴。我在考虑在传单中是否有任何定义的HTTP响应状态代码,以便代替返回空的图块,我可以仅返回该HTTP代码,而传单则停止呈现该图块。

我当时正在考虑返回404,但它会在用户的浏览器中登录,因此我不需要此解决方案。

leaflet gis
1个回答
1
投票

小叶处理this specific bit of code处的图块加载/错误:

  var tile = document.createElement('img');

  DomEvent.on(tile, 'load', Util.bind(this._tileOnLoad, this, done, tile));
  DomEvent.on(tile, 'error', Util.bind(this._tileOnError, this, done, tile));

只要HTMLImageElement instance triggers an error event,传单将触发后备行为,并尝试将HTMLImageElement加载到失败的图块中。

只要网络浏览器报告切片失败,

Leaflet会not关心切片为什么会失败。根据error,这可能发生在很多情况下,包括:

如果您正在开发切片服务器,并且不想向浏览器发送404 HTTP状态代码即使这样做在语义上是正确的,,您可以返回任何不是图像的东西。

尤其是,执行IMO时在语义上第二重要的事情是将40x与具有50x值的.webp in unsupported browsers HTTP标头一起使用。

BTW请记住,all网络请求已记录在Web浏览器中,并且具有404不会损害性能或可访问性。

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