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 jsonJSON JSON对象
-
addFloor(floor)
-
在该楼栋上添加楼层
Parameters:
Name Type Description floormodule:indoor~Floor 待添加的楼层
-
addFloors(floors)
-
在该楼栋上添加多个楼层
Parameters:
Name Type Description floorsArray.<module:indoor~Floor> 待添加楼层数组
-
deleteFloorData(ids)
-
删除该楼栋中对应矢量楼块图服务中的楼层数据,包括楼层中的户室数据
Parameters:
Name Type Description idsArray.<Number> 待删除楼层数据的id数组
-
generateDefaultFloors(floorNum, unitNum, row, col)
-
生成默认楼幢,算法会对楼栋底面自动等分,对于不精确户室面积的可以使用
Parameters:
Name Type Description floorNumNumber 楼层数量
unitNumNumber 单元数量
rowNumber 每层的房间行数量
colNumber 每层的房间列数量
-
getAttributes() → {JSON}
-
获取当前要素的属性
Returns:
JSON -当前要素的属性信息
-
getCampus() → {module:indoor~Campus}
-
获取楼栋所在园区
-
getFid() → {String}
-
获取楼栋要素的唯一标识
Returns:
String -唯一标识
-
getFloor(level) → {module:indoor~Floor}
-
根据楼层号获取楼层
Parameters:
Name Type Description levelString 楼层号
Returns:
module:indoor~Floor -
getFloorById(fid) → {module:indoor~Floor}
-
根据fid获取楼层
Parameters:
Name Type Description fidString 楼层的唯一标识符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 fidString 指定楼层fid
Returns:
Promise -从数据库加载的楼层信息
-
loadFloors() → {Promise}
-
从数据库加载该楼栋内的所有楼层。
Returns:
Promise -
removeAllFloors()
-
移除所有楼层
-
removeFloor(floor)
-
移除该楼栋上指定楼层
Parameters:
Name Type Description floormodule:indoor~Floor 待移除的楼层
-
saveData() → {Promise}
-
保存楼栋数据至对应矢量楼块图服务
Throws:
楼栋对象必须添加到园区对象中,才能执行saveData方法
Returns:
Promise -返回保存是否成功的信息
-
setAttributes(attributes)
-
设置地理要素的非空间属性。注意,该操作会覆盖原有属性
Parameters:
Name Type Description attributesJSON 属性信息
-
setBorderSymbol(lineSymbol)
-
设置边框样式
Parameters:
Name Type Description lineSymbolmodule:style~LineSymbol 边框线样式
-
setFloorViewMode(floorViewMode)
-
切换单层/多层视图
Parameters:
Name Type Description floorViewModeString 楼层视图模式,单层或多层,可填"single"/"many"
-
setFocusedFloor(level)
-
设置视图聚焦的楼层
Parameters:
Name Type Description levelNumber 聚焦的楼层号
-
setGeometry(geom)
-
重新设置地理要素的几何体。
Parameters:
Name Type Description geommodule:geom~Geometry 几何体对象。
Throws:
当参数geom不是Geometry子类的实例时,抛出异常:"Building setGeometry: the parameter is not a Geometry ."
-
setGroundElevation(z)
-
设置楼栋底面起始高程
Parameters:
Name Type Description zNumber 起始高程,单位为米
-
setLabelVisibility(visible)
-
设置注记的可见性
Parameters:
Name Type Description visibleBoolean 是否可见,可见时为true,不可见为false
-
setShowBorder(visible)
-
设置边框可见性
Parameters:
Name Type Description visibleBoolean 边框的可见性
-
setSurfaceSymbols(symbols)
-
设置楼栋表面样式
Parameters:
Name Type Description symbolsObject Name Type Description roofSymbolmodule:style~FillSymbol 顶面样式设置
facadeSymbolmodule:style~FillSymbol 侧面样式设置
surfaceSymbolmodule:style~FillSymbol 表面纯色样式设置,当设置roofSymbol和facadeSymbol的时候surfaceSymbol纯色无效,优先级低于前两者
-
setVisualFloorSpacing(height)
-
在可视化时将楼层拉开一定间距,方便查看楼层中的要素
Parameters:
Name Type Description heightNumber 楼层之间的间隔高度,以米为单位
-
toJSON() → {JSON}
-
将要素转化成JSON对象
Returns:
JSON -JSON对象