# 围栏
# 围栏与围栏事件
门户系统允许将地图要素设置为电子围栏。根据设置围栏触发类型(进入触发/离开触发),当由成员进入/离开电子围栏时,就会生成围栏事件。
围栏的常用属性如下:
属性名 | 值类型 | 属性描述 |
---|---|---|
bufferDistance | Number | 围栏的缓冲区域 |
radius | Number | 围栏半径 |
triggerType | String | 围栏的触发类型,离开围栏或进入围栏 |
enable | Boolean | 是否启用围栏 |
triggerTime | DateTime | 围栏事件触发时间 |
locationOnTriggered | Location | 围栏事件触发地点 |
常用方法如下:
方法名 | 返回类型 | 方法描述 |
---|---|---|
queryTriggerDetail | QueryResult | 查询事件触发人信息 |
queryMapFeatureDeatil | QueryResult | 查询围栏的地图要素信息 |
# 设置围栏
let fenceInfo = markerFeature.fenceInfo;
fenceInfo.enable = true;//启用围栏
fenceInfo.radius = 10;//围栏半径
fenceInfo.triggerType = FenceTriggerType.In;//围栏触发类型
1
2
3
4
2
3
4
# 围栏事件[FenceEvent]
# 获取围栏事件
let organization = Cellsys.organization;//初始化成功之后,可随时获取组织对象。
organization.queryFenceEvents()
.then(queryResult => {
let pageInfo = queryResult.pageInfo;//页码信息
let currentPage = pageInfo.pageNo;//当前的页码
let pageSize = pageInfo.pageSize;//每页数量
let totalPage = pageInfo.totalPage;//总页数
let totalCount = pageInfo.totalCount;//数据总量
/*返回的围栏事件数据*/
let fenceEvents = queryResult.data; //围栏事件数据,即Array<FenceEvent>
})
.catch(error => {
console.log(error.code); //错误码
console.log(error.message); //错误信息
})
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 围栏事件信息
//围栏触发类型(进入/离开)
let fenceTriggerType = fenceEvent.triggerType;
//围栏触发人
fenceEvent.triggerMember.name;//触发人名称
let location = fenceEvent.locationOnTriggered;//触发人定位信息
/*查询具体的触发人信息*/
fenceEvent.queryTriggerDetail()
.then(queryResult => {
let pageInfo = queryResult.pageInfo;//页码信息
let currentPage = pageInfo.pageNo;//当前的页码
let pageSize = pageInfo.pageSize;//每页数量
let totalPage = pageInfo.totalPage;//总页数
let totalCount = pageInfo.totalCount;//数据总量
/*返回的成员对象集合*/
let memberFeature = queryResult.data[0]; //queryResult.data为成员对象集合,即Array<MemberFeature>
})
.catch(error => {
console.log(error.code); //错误码
console.log(error.message); //错误信息
})
//围栏信息
fenceEvent.mapFeatureOfFence.name;//围栏名称
let geometry = fenceEvent.fenceGeometry;//围栏坐标信息
/*查询具体的围栏信息*/
fenceEvent.queryMapFeatureDeatil()
.then(queryResult => {
let pageInfo = queryResult.pageInfo;//页码信息
let currentPage = pageInfo.pageNo;//当前的页码
let pageSize = pageInfo.pageSize;//每页数量
let totalPage = pageInfo.totalPage;//总页数
let totalCount = pageInfo.totalCount;//数据总量
/*返回对应的地图要素集合*/
let mapFeature = queryResult.data[0]; //mapFeature为不同的地图要素对象,标记-MarkerFeature;路线-LineFeature;区域-AreaFeature
})
.catch(error => {
console.log(error.code); //错误码
console.log(error.message); //错误信息
})
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41