Summary
Methods:
fromJSON |
将JSON对象转成相应的要素类 |
addFloor |
在该楼栋上添加楼层 |
addFloors |
在该楼栋上添加多个楼层 |
deleteFloorData |
删除该楼栋中对应矢量楼块图服务中的楼层数据,包括楼层中的户室数据 |
generateDefaultFloors |
生成默认楼幢,算法会对楼栋底面自动等分,对于不精确户室面积的可以使用 |
getAttributes |
获取当前要素的属性 |
getCampus |
获取楼栋所在园区 |
getFid |
获取楼栋要素的唯一标识 |
getFloor |
根据楼层号获取楼层 |
getFloorById |
根据fid获取楼层 |
getFloors |
获取所有楼层 |
getFocusedFloor |
获取视图聚焦的楼层 |
getGroundElevation |
获取楼栋底面起始高程 |
getSurfaceSymbols |
获取楼栋表面样式 |
getTotalHeight |
根据楼栋中所有楼层的高度和地板厚度计算楼栋的总高度 |
getType |
返回要素的类型 |
loadFloorById |
从数据库中加载指定fid的楼层 |
loadFloors |
从数据库加载该楼栋内的所有楼层。 |
removeAllFloors |
移除所有楼层 |
removeFloor |
移除该楼栋上指定楼层 |
saveData |
保存楼栋数据至对应矢量楼块图服务 |
setAttributes |
设置地理要素的非空间属性。注意,该操作会覆盖原有属性 |
setBorderSymbol |
设置边框样式 |
setFloorViewMode |
切换单层/多层视图 |
setFocusedFloor |
设置视图聚焦的楼层 |
setGeometry |
重新设置地理要素的几何体。 |
setGroundElevation |
设置楼栋底面起始高程 |
setLabelVisibility |
设置注记的可见性 |
setShowBorder |
设置边框可见性 |
setSurfaceSymbols |
设置楼栋表面样式 |
setVisualFloorSpacing |
在可视化时将楼层拉开一定间距,方便查看楼层中的要素 |
toJSON |
将要素转化成JSON对象 |
Constructor
new Building(geometry, attributes, options)
Parameters:
Name | Type | Description | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
geometry |
module:geom~Geometry | 地理几何体 |
||||||||||||||||||||||||
attributes |
Object | 一个对象,用来描述地理要素的非空间属性,可用来存储楼栋的名称,楼层号,楼栋高度等自定义属性
|
||||||||||||||||||||||||
options |
Object | 可选属性设置
|
Example
const polygon = new hmap.geom.Polygon([lineRing]);
let building = new hmap.indoor.Building(polygon, { height: 100 }, {
surfaceSymbol: new hmap.style.ColorFill(new hmap.style.Color(255, 255, 0, 1)),
showBorder: true
});
Methods
-
static fromJSON(json) → {module:indoor~Building}
-
将JSON对象转成相应的要素类
Parameters:
Name Type Description json
JSON JSON对象
-
addFloor(floor)
-
在该楼栋上添加楼层
Parameters:
Name Type Description floor
module:indoor~Floor 待添加的楼层
-
addFloors(floors)
-
在该楼栋上添加多个楼层
Parameters:
Name Type Description floors
Array.<module:indoor~Floor> 待添加楼层数组
-
deleteFloorData(ids)
-
删除该楼栋中对应矢量楼块图服务中的楼层数据,包括楼层中的户室数据
Parameters:
Name Type Description ids
Array.<Number> 待删除楼层数据的id数组
-
generateDefaultFloors(floorNum, unitNum, row, col)
-
生成默认楼幢,算法会对楼栋底面自动等分,对于不精确户室面积的可以使用
Parameters:
Name Type Description floorNum
Number 楼层数量
unitNum
Number 单元数量
row
Number 每层的房间行数量
col
Number 每层的房间列数量
-
getAttributes() → {JSON}
-
获取当前要素的属性
Returns:
JSON -当前要素的属性信息
-
getCampus() → {module:indoor~Campus}
-
获取楼栋所在园区
-
getFid() → {String}
-
获取楼栋要素的唯一标识
Returns:
String -唯一标识
-
getFloor(level) → {module:indoor~Floor}
-
根据楼层号获取楼层
Parameters:
Name Type Description level
String 楼层号
Returns:
module:indoor~Floor -
getFloorById(fid) → {module:indoor~Floor}
-
根据fid获取楼层
Parameters:
Name Type Description fid
String 楼层的唯一标识符fid
-
getFloors() → {Array.<module:indoor~Floor>}
-
获取所有楼层
-
getFocusedFloor() → {Number}
-
获取视图聚焦的楼层
Returns:
Number -聚焦的楼层号
-
getGroundElevation() → {Number}
-
获取楼栋底面起始高程
Returns:
Number -
getSurfaceSymbols() → {Object}
-
获取楼栋表面样式
Returns:
Object -楼栋样式
-
getTotalHeight() → {Number}
-
根据楼栋中所有楼层的高度和地板厚度计算楼栋的总高度
Returns:
Number -楼栋总高度
-
getType() → {String}
-
返回要素的类型
Returns:
String -要素类型
-
async loadFloorById(fid) → {Promise}
-
从数据库中加载指定fid的楼层
Parameters:
Name Type Description fid
String 指定楼层fid
Returns:
Promise -从数据库加载的楼层信息
-
loadFloors() → {Promise}
-
从数据库加载该楼栋内的所有楼层。
Returns:
Promise -
removeAllFloors()
-
移除所有楼层
-
removeFloor(floor)
-
移除该楼栋上指定楼层
Parameters:
Name Type Description floor
module:indoor~Floor 待移除的楼层
-
saveData() → {Promise}
-
保存楼栋数据至对应矢量楼块图服务
Throws:
楼栋对象必须添加到园区对象中,才能执行saveData方法
Returns:
Promise -返回保存是否成功的信息
-
setAttributes(attributes)
-
设置地理要素的非空间属性。注意,该操作会覆盖原有属性
Parameters:
Name Type Description attributes
JSON 属性信息
-
setBorderSymbol(lineSymbol)
-
设置边框样式
Parameters:
Name Type Description lineSymbol
module:style~LineSymbol 边框线样式
-
setFloorViewMode(floorViewMode)
-
切换单层/多层视图
Parameters:
Name Type Description floorViewMode
String 楼层视图模式,单层或多层,可填"single"/"many"
-
setFocusedFloor(level)
-
设置视图聚焦的楼层
Parameters:
Name Type Description level
Number 聚焦的楼层号
-
setGeometry(geom)
-
重新设置地理要素的几何体。
Parameters:
Name Type Description geom
module:geom~Geometry 几何体对象。
Throws:
当参数geom不是Geometry子类的实例时,抛出异常:"Building setGeometry: the parameter is not a Geometry ."
-
setGroundElevation(z)
-
设置楼栋底面起始高程
Parameters:
Name Type Description z
Number 起始高程,单位为米
-
setLabelVisibility(visible)
-
设置注记的可见性
Parameters:
Name Type Description visible
Boolean 是否可见,可见时为true,不可见为false
-
setShowBorder(visible)
-
设置边框可见性
Parameters:
Name Type Description visible
Boolean 边框的可见性
-
setSurfaceSymbols(symbols)
-
设置楼栋表面样式
Parameters:
Name Type Description symbols
Object Name Type Description roofSymbol
module:style~FillSymbol 顶面样式设置
facadeSymbol
module:style~FillSymbol 侧面样式设置
surfaceSymbol
module:style~FillSymbol 表面纯色样式设置,当设置roofSymbol和facadeSymbol的时候surfaceSymbol纯色无效,优先级低于前两者
-
setVisualFloorSpacing(height)
-
在可视化时将楼层拉开一定间距,方便查看楼层中的要素
Parameters:
Name Type Description height
Number 楼层之间的间隔高度,以米为单位
-
toJSON() → {JSON}
-
将要素转化成JSON对象
Returns:
JSON -JSON对象