function buildingify(
  bounding_box,
  OSM_data,
  street_options,
  unit_options,
  unit_layers,
  street_layers,
) {
  setupStreetFeatures.call(this, OSM_data, street_options, street_layers);
  setupUnitFeatures.call(
    this,
    bounding_box,
    OSM_data,
    unit_options,
    unit_layers,
  );
}
Generate and setup the desired map features (e.g. streets, houses).
@memberof Agentmap
@instance

@param {Array.<Array.<number>>} bounding_box - The map's top-left and bottom-right coordinates.
@param {object} OSM_data - A GeoJSON Feature Collection object containing the OSM street features inside the bounding box.
@param {object} [street_options] - An object containing the Leaflet styling options for streets. See available options here: {@link https://leafletjs.com/reference-1.3.2.html#polyline-l-polyline}.
@param {object} [unit_options] - An object containing the Leaflet & AgentMaps styling options for units.<br/>See available Leaflet options here: {@link https://leafletjs.com/reference-1.3.2.html#polygon-l-polygon}<br/>Additional AgentMaps-specific options are described below.
@param {number} [unit_options.front_buffer = 6] - The number of meters beetween the front of unit and its street.
@param {number} [unit_options.side_buffer = 3] - The number of meters between two units on the same street.
@param {number} [unit_options.length = 14] - The length of the unit in meters along the street.
@param {number} [unit_options.depth = 18] - The depth of the unit in meters out from its front.
@param {object} [unit_layers]- If you want to load a previously generated AgentMaps.units object instead of generating one from scratch: A GeoJSON Feature Collection of an AgentMaps.units featureGroup.
@param {object} [street_layers]- If you want to load a previously generated AgentMaps.streets object instead of generating one from scratch: A GeoJSON Feature Collection of an AgentMaps.streets featureGroup.