indoor~Floor(geometry, attributes, options)

矢量楼块图楼层类。默认在地图缩放层级17级后显示。

Summary

Methods:
fromJSON

将JSON对象转成相应的要素类

addHousehold

在该楼层上添加户室

addHouseholds

在该楼层上添加多个户室

copyTo

复制楼层至指定楼层号

deleteHouseholdData

删除该楼层中对应矢量楼块图服务中的户室数据

generateDefaultHouseholds

生成默认户室

getAttributes

获取当前要素的属性

getBuilding

获取所在楼栋

getFid

获取楼层要素的唯一标识

getFloorHeight

获取楼层高度

getHouseholdById

根据唯一标识符fid获取户室对象

getHouseholdByRoomName

根据户室名获取户室对象

getHouseholds

获取楼层中的所有户室

getLevel

获取所在楼层号

getSurfaceSymbols

获取楼层表面样式

getThickness

获取地板厚度

getType

返回要素的类型

loadHouseholdById

从数据库中加载指定fid的户室

loadHouseholds

从数据库中加载该楼层内的所有户室

removeAllHouseholds

移除所有户室

removeHousehold

移除指定户室

saveData

保存楼层数据至对应矢量楼块图服务

setAttributes

设置地理要素的非空间属性。注意,该操作会覆盖原有属性

setBorderSymbol

设置边框样式

setFloorHeight

设置楼层高度

setFloorVisibility

设置楼层可见性。

setFocused

设置该楼层聚焦状态

setGeometry

重新设置地理要素的几何体。

setLabelVisibility

设置注记的可见性

setLevel

设置楼层号

setShowBorder

设置边框可见性

setSurfaceSymbols

设置楼层表面样式

setThickness

设置地板厚度

toJSON

将要素转化成JSON对象

Constructor

new Floor(geometry, attributes, options)

Parameters:
Name Type Description
geometry module:geom~Geometry

楼层的几何对象,只能为面或多面类型

attributes Object

一个对象,用来描述地理要素的非空间属性,可用来存储楼层的层号等自定义属性

Name Type Description
level Number

楼层序号,默认为1,表示1楼

height Number

楼层高度,单位为米,默认为2.8米

thickness Number

楼板厚度,默认为0

description String

楼层描述

floorType Number

楼层类型,0-地下普通层 1-地上普通层 2-地下基层 3-地 上夹层

floorCode String

地上楼层编码方式为F层号,如地上3层编码为F3。 地下楼层编码方式B,为层号舍去“负号”部分,如地下1层,编码为B1。 使用字母“M”表示建筑的夹层,地下夹层在字母前加“符号”。例如:位于F4与F5之间的夹层记为:M4。 位于B2与B3之间的夹层记为:-M3

datasetName String

数据集名称

label String

注记本文

options Object

可选属性设置

Name Type Description
showBorder Boolean

是否显示边框

borderSymbol module:style~LineSymbol

边框样式,目前仅支持设置线的宽度,实线/虚线,其中虚线时dashRatio不支持

roofSymbol module:style~FillSymbol

顶面样式设置,样式设置透明度效果受绘制顺序影响

facadeSymbol module:style~FillSymbol

侧面样式设置,样式设置透明度效果受绘制顺序影响

surfaceSymbol module:style~FillSymbol

表面纯色样式设置,当设置roofSymbol和facadeSymbol的时候surfaceSymbol纯色无效,优先级低于前两者。样式设置透明度效果受绘制顺序影响

Example
const polygon = new hmap.geom.Polygon([lineRing]);
let floor = new hmap.indoor.Floor(polygon,
 { level: 1, height: 50 },
 { surfaceSymbol: new hmap.style.ColorFill(new hmap.style.Color(0, 0, 180, 0.8)) });

Methods

static fromJSON(json) → {module:indoor~Floor}

将JSON对象转成相应的要素类

Parameters:
Name Type Description
json JSON

JSON对象

Returns:
module:indoor~Floor -

楼层

addHousehold(household)

在该楼层上添加户室

Parameters:
Name Type Description
household module:indoor~Household

户室对象

addHouseholds(households)

在该楼层上添加多个户室

Parameters:
Name Type Description
households Array.<module:indoor~Household>

户室对象数组

copyTo(level)

复制楼层至指定楼层号

Parameters:
Name Type Description
level Number

楼层号

deleteHouseholdData(ids)

删除该楼层中对应矢量楼块图服务中的户室数据

Parameters:
Name Type Description
ids Array.<Number>

待删除户室数据的id数组

async generateDefaultHouseholds(unitNum, row, col)

生成默认户室

Parameters:
Name Type Description
unitNum Number

单元数量

row Number

房间行数量

col Number

房间列数量

getAttributes() → {JSON}

获取当前要素的属性

Returns:
JSON -

当前要素的属性信息

getBuilding() → {module:indoor~Building}

获取所在楼栋

Returns:
module:indoor~Building -

楼栋

getFid() → {String}

获取楼层要素的唯一标识

Returns:
String -

唯一标识

getFloorHeight() → {Number}

获取楼层高度

Returns:
Number -

楼层高度,单位米

getHouseholdById(fid) → {module:indoor~Household}

根据唯一标识符fid获取户室对象

Parameters:
Name Type Description
fid Number

户室的唯一标识符fid

Returns:
module:indoor~Household -

唯一标识符fid对应的户室对象。如果该标识符不存在,则返回null

getHouseholdByRoomName(roomName) → {module:indoor~Household}

根据户室名获取户室对象

Parameters:
Name Type Description
roomName Number

户室名

Returns:
module:indoor~Household -

户室对象

getHouseholds() → {Array.<module:indoor~Household>}

获取楼层中的所有户室

Returns:
Array.<module:indoor~Household> -

户室对象

getLevel() → {Number}

获取所在楼层号

Returns:
Number -

楼层号

getSurfaceSymbols() → {Object}

获取楼层表面样式

Returns:
Object -

楼层表面样式

getThickness() → {Number}

获取地板厚度

Returns:
Number -

地板厚度,单位米

getType() → {String}

返回要素的类型

Returns:
String -

要素类型

async loadHouseholdById(fid) → {Promise}

从数据库中加载指定fid的户室

Parameters:
Name Type Description
fid String

指定户室fid

Returns:
Promise -

从数据库加载的户室信息

loadHouseholds() → {Promise}

从数据库中加载该楼层内的所有户室

Returns:
Promise

removeAllHouseholds() → {Promise}

移除所有户室

Returns:
Promise

removeHousehold(household)

移除指定户室

Parameters:
Name Type Description
household module:indoor~Household

户室对象

saveData() → {Promise}

保存楼层数据至对应矢量楼块图服务

Throws:

楼层对象必须添加到楼栋对象中,才能执行saveData方法

Returns:
Promise

setAttributes(attributes)

设置地理要素的非空间属性。注意,该操作会覆盖原有属性

Parameters:
Name Type Description
attributes JSON

属性信息

setBorderSymbol(lineSymbol)

设置边框样式

Parameters:
Name Type Description
lineSymbol module:style~LineSymbol

边框样式

setFloorHeight(height)

设置楼层高度

Parameters:
Name Type Description
height Number

楼层高度,单位米

setFloorVisibility(visible)

设置楼层可见性。

Parameters:
Name Type Description
visible Boolean

可见用true;不可见用false。

Example
floor.setFloorVisibility(true);

setFocused(isCurrent)

设置该楼层聚焦状态

Parameters:
Name Type Description
isCurrent Boolean

是否为聚焦楼层

setGeometry(geom)

重新设置地理要素的几何体。

Parameters:
Name Type Description
geom module:geom~Geometry

几何体对象。

Throws:

当参数geom不是Geometry子类的实例时,抛出异常:"Floor setGeometry: the parameter is not a Geometry ."

setLabelVisibility(visible)

设置注记的可见性

Parameters:
Name Type Description
visible Boolean

是否可见,可见时为true,不可见为false

setLevel(level)

设置楼层号

Parameters:
Name Type Description
level Number

楼层号

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纯色无效,优先级低于前两者

setThickness(thickness)

设置地板厚度

Parameters:
Name Type Description
thickness Number

地板厚度,单位米

toJSON() → {JSON}

将要素转化成JSON对象

Returns:
JSON -

JSON对象