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