Mapbox:如何避免在当前缩放级别无法使用的tileset的JavaScript错误?

时间:2017-03-13 20:09:11

标签: mapbox mapbox-gl-js mbtiles

我使用Mapbox GL JS并从我的Mapbox帐户加载tileset图层。其中一些tileset图层仅适用于缩放级别10到15.

我的地图的默认缩放级别是5,当我加载地图时,我收到一个JavaScript控制台错误,说该tileset是404ing:

enter image description here

有什么方法可以避免这种情况吗?我不想一直重新创建tileset来缩放5级,因为它会不必要地增加它的大小。

我不认为控制台错误会导致Chrome出现任何问题,但我不知道它是否会出现在其他浏览器中。

3 个答案:

答案 0 :(得分:5)

最简单的方法是替换默认的错误处理程序,过滤掉" Not Found"消息:

map.on('error', e => {
    // Hide those annoying non-error errors
    if (e && e.error !== 'Error: Not Found')
        console.error(e);
});

答案 1 :(得分:2)

I have improved our 404 handling for future releases.

在这种情况下,您仍会看到浏览器提供的GET https://... 404 (Not Found)消息,但不会看到Javascript Error: Not Found异常消息。

答案 2 :(得分:1)

如果您使用自己的磁贴服务器,则可以将其设置为“无内容204 HTTP status”。

以下是定制的node.js磁贴服务器中的内容:

app.use(function(req, res, next) {
  if(res.status(404)) {
    res.sendStatus(204)
  }
});