How to use MapBox vector tile styles

When using MapBox vector tiles, one option is to pass an optional style parameter which allows the client to ask for an optimized set of the vectors it needs.

(Docs, see the style parameter): Vector Tiles | API | Mapbox)

However, it’s not clear when using the MapboxImageryProvider from Cesium how the style option should be passed. From looking at the types and source code it seemingly isn’t supported.

Is that correct? Or is there a way to pass the style parameter when using MapBox vector tiles?

Maybe this is new, but MapboxStyleImageryProvider looks like the answer.

Thanks for the response Scott. Unfortunately, that’s not what I’m looking for. Based on my understanding, MapBox Styles are rasterized tiles coming from MapBox (they may be generated within MapBox from a mix of raster and/or vector sources). What I’m trying to do is use a MapBox Tileset. Tilesets can have Styles applied to them, but they are a bit different from just using Styles.

Hi there,

Mapbox-style vector tiles are not supported in CesiumJS. If you’re interested though, there is a community plugin which implements them using Maplibre GL JS, an open source fork of mapbox-gl-js.

Hi Gabby, thanks for the response and the link.

Is it just the style parameter of the MapBox tileset endpoint that Cesium doesn’t support, or are you saying Cesium doesn’t support MapBox vector tiles at all?

I’m able to load the mapbox-streets-v8 Vector tileset without issue in our Cesium, using the MapboxImageryProvider. It’s just the style parameter on the endpoint that’s missing.

From my testing, the data type returned by MapBox doesn’t change when passing the style parameter. The only thing Cesium would need to do to support is to just append the style url parameter along with the tileset requests.

Hi,

If the tiles are rasterized and served as imagery, then they are supported. I think you may be able to apply styles with the linked class from @scottUFR.

Un-rasterized vector tilesets, at least to my understanding, are not raster imagery layers and therefore will need additional implementation to support. Distinct from Mapbox-style vector tiles, we have an early, experimental implementation of Cesium-style vector tilesets based on the 3D Tiles format. See this issue for more discussion.