Search code examples
mapboxmapbox-gl-jsmbtiles

Mapbox: How to avoid JavaScript errors for tilesets that aren't available at the current zoom level?


I'm using Mapbox GL JS and loading tileset layers from my Mapbox account. Some of these tileset layers are only available for zoom levels 10 to 15.

The default zoom level of my map is 5, and when I load the map I get a JavaScript console error, saying that the tileset is 404ing:

enter image description here

Is there any way I can avoid this? I don't want to recreate the tileset all the way to zoom level 5, as it will unnecessarily increase its size.

I don't think the console error is causing any problems in Chrome, but I don't know whether it will in other browsers.


Solution

  • The easiest way is to replace the default error handler, filtering out the "Not Found" message:

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