使用 mapbox-gl-js 打开地图图块会在更高的缩放比例下出现错误

Open Map Tiles with mapbox-gl-js gives error at higher zooms

在 mapbox gl js 中使用 Open Map Tiles,当缩放比例超过 14 时,浏览器控制台出现错误:

mapbox-gl.js?d5ed:510 Error: Error
    at Actor.receive (mapbox-gl.js?d5ed:490)
Evented.fire @ mapbox-gl.js?d5ed:510
Evented.fire @ mapbox-gl.js?d5ed:510
Evented.fire @ mapbox-gl.js?d5ed:510
t._tileLoaded @ mapbox-gl.js?d5ed:222
i @ mapbox-gl.js?d5ed:230
Actor.receive @ mapbox-gl.js?d5ed:490

This fiddle 显示了这种行为。请填写您自己的 OMT 密钥,然后就可以使用了。错误是 [object Error] { ... } 它显示到处都在缩放 14 以上并且在某些区域已经在缩放 11 以上。

我很确定它与没有可用的图块有关,但是我认为这应该简单地扩展 zoom 14 的功能而不是给出错误。是什么原因造成的,我该如何消除这些错误?

当您使用 mapbox-gl 创建基于图块的源(栅格或矢量)时,您可以定义 minzoommaxzoom 级别。如果设置正确,mapbox 将不会请求 above/below 这些级别的图块,但仍会显示可用 biggest/lowest 缩放级别的图块:

map.addSource({
  tiles: [/* tile urls */],
  maxzoom: 11,
  // etc...
});