• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# IGeofenceInterface
2
3
4## 概述
5
6定义对地理围栏模块进行基本操作的接口。
7
8接口包含注册回调函数,取消注册回调函数,添加圆形和多边形地理围栏,删除地理围栏,获取地理围栏状态信息,获取设备地理位置,下发基站离线数据库。
9
10**起始版本:** 4.0
11
12**相关模块:**[HdiLpfenceGeofence](_hdi_lpfence_geofence.md)
13
14
15## 汇总
16
17
18### Public 成员函数
19
20| 名称 | 描述 |
21| -------- | -------- |
22| [RegisterGeofenceCallback](#registergeofencecallback) ([in] [IGeofenceCallback](lpfence_interface_i_geofence_callback.md) callbackObj) | 注册回调函数。 |
23| [UnregisterGeofenceCallback](#unregistergeofencecallback) ([in] [IGeofenceCallback](lpfence_interface_i_geofence_callback.md) callbackObj) | 取消注册回调函数。 |
24| [AddCircleGeofences](#addcirclegeofences) ([in] struct [GeofenceCircleRequest](lpfence_geofence_circle_request.md)[] circleGeofences) | 添加圆形地理围栏。 |
25| [AddPolygonGeofences](#addpolygongeofences) ([in] struct [GeofencePolygonRequest](lpfence_geofence_polygon_request.md)[] polygonGeofences) | 添加多边形地理围栏。 |
26| [RemoveGeofences](#removegeofences) ([in] int[] geofenceId) | 删除地理围栏。 |
27| [GetGeofenceStatus](#getgeofencestatus) ([in] int geofenceId) | 获取当前设备与一个地理围栏的状态关系。 |
28| [GetGeofenceLocation](#getgeofencelocation) () | 获取最新的位置信息。 |
29| [GetGeofenceSize](#getgeofencesize) () | 获取地理围栏使用信息。 |
30| [SendCellOfflineDb](#sendcellofflinedb) ([in] struct [OfflineDb](lpfence_offline_db.md) dbData, [in] int cellType) | 下发基站离线数据库数据。 |
31
32
33## 成员函数说明
34
35
36### AddCircleGeofences()
37
38```
39IGeofenceInterface::AddCircleGeofences ([in] struct GeofenceCircleRequest[] circleGeofences)
40```
41
42**描述**
43
44添加圆形地理围栏。
45
46支持一次添加多个圆形地理围栏
47
48**起始版本:** 4.0
49
50**参数:**
51
52| 名称 | 描述 |
53| -------- | -------- |
54| circleGeofences | 添加圆形围栏信息。详见[GeofenceCircleRequest](lpfence_geofence_circle_request.md)。 |
55
56**返回:**
57
58如果添加成功,则返回0。
59
60如果添加失败,则返回负值。
61
62
63### AddPolygonGeofences()
64
65```
66IGeofenceInterface::AddPolygonGeofences ([in] struct GeofencePolygonRequest[] polygonGeofences)
67```
68
69**描述**
70
71添加多边形地理围栏。
72
73支持一次添加多个多边形地理围栏
74
75**起始版本:** 4.0
76
77**参数:**
78
79| 名称 | 描述 |
80| -------- | -------- |
81| polygonGeofences | 添加多边形围栏信息。详见[GeofencePolygonRequest](lpfence_geofence_polygon_request.md)。 |
82
83**返回:**
84
85如果添加成功,则返回0。
86
87如果添加失败,则返回负值。
88
89
90### GetGeofenceLocation()
91
92```
93IGeofenceInterface::GetGeofenceLocation ()
94```
95
96**描述**
97
98获取最新的位置信息。
99
100位置信息通过回调函数上报。详见[OnGetCurrentLocation](lpfence_interface_i_geofence_callback.md#ongetcurrentlocation)定义。
101
102**起始版本:** 4.0
103
104**返回:**
105
106如果调用成功,则返回0。
107
108如果调用失败,则返回负值。
109
110
111### GetGeofenceSize()
112
113```
114IGeofenceInterface::GetGeofenceSize ()
115```
116
117**描述**
118
119获取地理围栏使用信息。
120
121查看当前设备支持添加的地理围栏最大个数和已添加的地理围栏个数。通过回调函数上报通知,详见[OnGetGeofenceSizeCb](lpfence_interface_i_geofence_callback.md#ongetgeofencesizecb)。
122
123**起始版本:** 4.0
124
125**返回:**
126
127如果调用成功,则返回0。
128
129如果调用失败,则返回负值。
130
131
132### GetGeofenceStatus()
133
134```
135IGeofenceInterface::GetGeofenceStatus ([in] int geofenceId)
136```
137
138**描述**
139
140获取当前设备与一个地理围栏的状态关系。
141
142设备与地理围栏的状态关系详见[GeofenceTransition](_hdi_lpfence_geofence.md#geofencetransition)定义。
143
144**起始版本:** 4.0
145
146**参数:**
147
148| 名称 | 描述 |
149| -------- | -------- |
150| geofenceId | 地理围栏id号。 |
151
152**返回:**
153
154返回位置关系。详见[GeofenceTransition](_hdi_lpfence_geofence.md#geofencetransition)定义。
155
156如果调用失败,则返回负值。
157
158
159### RegisterGeofenceCallback()
160
161```
162IGeofenceInterface::RegisterGeofenceCallback ([in] IGeofenceCallback callbackObj)
163```
164
165**描述**
166
167注册回调函数。
168
169用户在开启地理围栏功能前,需要先注册该回调函数。当地理围栏状态发生变化时,会通过回调函数进行上报。
170
171**起始版本:** 4.0
172
173**参数:**
174
175| 名称 | 描述 |
176| -------- | -------- |
177| callbackObj | 要注册的回调函数,只需成功订阅一次,无需重复订阅。详见[IGeofenceCallback](lpfence_interface_i_geofence_callback.md)。 |
178
179**返回:**
180
181如果注册回调函数成功,则返回0。
182
183如果注册回调函数失败,则返回负值。
184
185
186### RemoveGeofences()
187
188```
189IGeofenceInterface::RemoveGeofences ([in] int[] geofenceId)
190```
191
192**描述**
193
194删除地理围栏。
195
196支持一次删除多个地理围栏。
197
198**起始版本:** 4.0
199
200**参数:**
201
202| 名称 | 描述 |
203| -------- | -------- |
204| geofenceId | 地理围栏id号。详见[GeofenceCircleRequest](lpfence_geofence_circle_request.md)和[GeofencePolygonRequest](lpfence_geofence_polygon_request.md)。 |
205
206**返回:**
207
208如果删除成功,则返回0。
209
210如果删除失败,则返回负值。
211
212
213### SendCellOfflineDb()
214
215```
216IGeofenceInterface::SendCellOfflineDb ([in] struct OfflineDb dbData, [in] int cellType )
217```
218
219**描述**
220
221下发基站离线数据库数据。
222
223若请求离线数据库数据成功,则上层服务通过该接口将数据下发。
224
225**起始版本:** 4.0
226
227**参数:**
228
229| 名称 | 描述 |
230| -------- | -------- |
231| dbData | 基站离线数据库数据。详见[OfflineDb](lpfence_offline_db.md)定义。 |
232| cellType | 基站主区的移动通信技术代。详见[GeofenceCellType](_hdi_lpfence_geofence.md#geofencecelltype)定义。 |
233
234**返回:**
235
236如果调用成功,则返回0。
237
238如果调用失败,则返回负值。
239
240
241### UnregisterGeofenceCallback()
242
243```
244IGeofenceInterface::UnregisterGeofenceCallback ([in] IGeofenceCallback callbackObj)
245```
246
247**描述**
248
249取消注册回调函数。
250
251取消之前注册的回调函数。当不需要使用地理围栏功能,或需要更换回调函数时,需要取消注册回调函数。
252
253**起始版本:** 4.0
254
255**参数:**
256
257| 名称 | 描述 |
258| -------- | -------- |
259| callbackObj | 要取消注册的回调函数,只需成功取消订阅一次,无需重复取消订阅。详见[IGeofenceCallback](lpfence_interface_i_geofence_callback.md)。 |
260
261**返回:**
262
263如果取消注册回调函数成功,则返回0。
264
265如果取消注册回调函数失败,则返回负值。
266