3D Buildings from vector data


I have a problem I can not solve for a long time.

There are two layers: VectorTile(1) and Tile (2).

var layer = new ol.layer.Tile({
  source: new ol.source.OSM()

var layerBuilding = new ol.layer.VectorTile({
      source: new ol.source.VectorTile({
        format: format,
        tileGrid: tileGrid,
        url: 'http://{a-c}.tile.openstreetmap.us/' +
      style: function(f, resolution) {
        return (resolution < 10) ? buildingStyle : null;
In VectorTile layer has its own style.

var buildingStyle = new ol.style.Style({
  fill: new ol.style.Fill({
    color: '#666',
    opacity: 0.4,
  stroke: new ol.style.Stroke({
    color: '#444',
    width: 1

The question is that I add a height in buildings to 3D.

The result is seen in the screenshots. As can be seen when a 3D vector data for some reason lost...

Thank you!


I guess your question is related to OL3-Cesium.

There is currently no support for Mapbox vector tiles in OL3-Cesium.

There is a proof of concept about adding extrusion and discussions, for example https://github.com/openlayers/ol3-cesium/issues/360.