Source: bemap-model/bemap-buildingsLayer.js

/**
 * BeNomad BeMap JavaScript API - BuildingsLayer class
 * MapLibre-exclusive: 3D extruded buildings from vector data.
 */

/**
 * @classdesc
 * Layer for 3D building extrusion. MapLibre only.
 * @public
 * @constructor
 * @extends {bemap.Layer}
 * @param {Object} options
 * @param {String} options.sourceId Source ID containing building data.
 * @param {String} options.sourceLayer Source layer name (for vector tiles).
 * @param {String} options.heightProperty Property name for building height (default: 'height').
 * @param {String} options.baseHeightProperty Property for base height (default: 'min_height').
 * @param {String} options.color Building color (default: '#aaa').
 * @param {Number} options.opacity Building opacity (default: 0.6).
 * @param {Number} options.minZoom Minimum zoom to show buildings (default: 14).
 */
bemap.BuildingsLayer = function(options) {
  var opts = options || {};

  this.sourceId = opts.sourceId ? opts.sourceId : null;
  this.sourceLayer = opts.sourceLayer ? opts.sourceLayer : null;
  this.heightProperty = opts.heightProperty ? opts.heightProperty : 'height';
  this.baseHeightProperty = opts.baseHeightProperty ? opts.baseHeightProperty : 'min_height';
  this.color = opts.color ? opts.color : '#aaa';
  this.opacity = opts.opacity !== undefined ? opts.opacity : 0.6;

  bemap.Layer.call(this, options);
};
bemap.inherits(bemap.BuildingsLayer, bemap.Layer);