js-apis-geolocation.md 46.5 KB
Newer Older
Z
zengyawen 已提交
1
# 位置服务
Z
zengyawen 已提交
2

3
位置服务提供GNSS定位、网络定位、地理编码、逆地理编码、国家码和地理围栏等基本功能。
Z
zengyawen 已提交
4 5 6

> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
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


## 申请权限

应用在使用系统能力前,需要检查是否已经获取用户授权访问设备位置信息。如未获得授权,可以向用户申请需要的位置权限,申请方式请参考下文。

系统提供的定位权限有:
- ohos.permission.LOCATION

- ohos.permission.APPROXIMATELY_LOCATION

- ohos.permission.LOCATION_IN_BACKGROUND

访问设备的位置信息,必须申请权限,并且获得用户授权。

API9之前的版本,申请ohos.permission.LOCATION即可。

API9及之后的版本,需要申请ohos.permission.APPROXIMATELY_LOCATION或者同时申请ohos.permission.APPROXIMATELY_LOCATION和ohos.permission.LOCATION;无法单独申请ohos.permission.LOCATION。

| 使用的API版本 | 申请位置权限 | 申请结果 | 位置的精确度 |
| -------- | -------- | -------- | -------- |
| 小于9 | ohos.permission.LOCATION | 成功 | 获取到精准位置,精准度在米级别。 |
| 大于等于9 | ohos.permission.LOCATION | 失败 | 无法获取位置。 |
| 大于等于9 | ohos.permission.APPROXIMATELY_LOCATION | 成功 | 获取到模糊位置,精确度为5公里。 |
| 大于等于9 | ohos.permission.APPROXIMATELY_LOCATION和ohos.permission.LOCATION | 成功 | 获取到精准位置,精准度在米级别。 |

如果应用在后台运行时也需要访问设备位置,除需要将应用声明为允许后台运行外,还必须申请ohos.permission.LOCATION_IN_BACKGROUND权限,这样应用在切入后台之后,系统可以继续上报位置信息。

开发者可以在应用配置文件中声明所需要的权限,具体可参考[授权申请指导](../../security/accesstoken-guidelines.md)

Z
zengyawen 已提交
37 38 39

## 导入模块

L
liu-binjun 已提交
40
```ts
Z
zengyawen 已提交
41 42 43
import geolocation from '@ohos.geolocation';
```

44
## geolocation.on('locationChange')
Z
zengyawen 已提交
45

L
liu-binjun 已提交
46
on(type: 'locationChange', request: LocationRequest, callback: Callback<Location>): void
Z
zengyawen 已提交
47

L
liu-binjun 已提交
48
开启位置变化订阅,并发起定位请求。定位结果按照[LocationRequest](#locationrequest)的属性进行上报,
Z
zengyawen 已提交
49

L
liu-binjun 已提交
50 51 52 53
**需要权限**:ohos.permission.LOCATION

**系统能力**:SystemCapability.Location.Location.Core

54
**参数:**
L
liu-binjun 已提交
55

56
  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
57
  | -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
58
  | type | string | 是 | 设置事件类型。type为“locationChange”,表示位置变化。 |
L
liu-binjun 已提交
59
  | request |  [LocationRequest](#locationrequest) | 是 | 设置位置请求参数。 |
Z
zengyawen 已提交
60
  | callback | Callback<[Location](#location)> | 是 | 接收位置变化状态变化监听。 |
61
  
Z
zengyawen 已提交
62

L
liu-binjun 已提交
63

L
liu-binjun 已提交
64
**示例**
Z
zengyawen 已提交
65
  
L
liu-binjun 已提交
66 67
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
68 69 70 71 72 73 74 75
  var requestInfo = {'priority': 0x203, 'scenario': 0x300, 'timeInterval': 0, 'distanceInterval': 0, 'maxAccuracy': 0};
  var locationChange = (location) => {
      console.log('locationChanger: data: ' + JSON.stringify(location));
  };
  geolocation.on('locationChange', requestInfo, locationChange);
  ```


76
## geolocation.off('locationChange')
Z
zengyawen 已提交
77

L
liu-binjun 已提交
78
off(type: 'locationChange', callback?: Callback<Location>): void
Z
zengyawen 已提交
79 80 81

关闭位置变化订阅,并删除对应的定位请求。

L
liu-binjun 已提交
82 83 84 85
**需要权限**:ohos.permission.LOCATION

**系统能力**:SystemCapability.Location.Location.Core

86
**参数:**
L
liu-binjun 已提交
87

88
  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
89
  | -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
90
  | type | string | 是 | 设置事件类型。type为“locationChange”,表示位置变化。 |
91
  | callback | Callback<[Location](#location)> | 否 | 需要取消订阅的回调函数。若无此参数,则取消当前类型的所有订阅。 |
Z
zengyawen 已提交
92

L
liu-binjun 已提交
93

L
liu-binjun 已提交
94
**示例**
Z
zengyawen 已提交
95
  
L
liu-binjun 已提交
96 97
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
98 99 100 101 102 103 104 105 106
  var requestInfo = {'priority': 0x203, 'scenario': 0x300, 'timeInterval': 0, 'distanceInterval': 0, 'maxAccuracy': 0};
  var locationChange = (location) => {
      console.log('locationChanger: data: ' + JSON.stringify(location));
  };
  geolocation.on('locationChange', requestInfo, locationChange);
  geolocation.off('locationChange', locationChange);
  ```


107
## geolocation.on('locationServiceState')
Z
zengyawen 已提交
108

L
liu-binjun 已提交
109
on(type: 'locationServiceState', callback: Callback<boolean>): void
Z
zengyawen 已提交
110 111 112

订阅位置服务状态变化。

L
liu-binjun 已提交
113 114 115 116
**需要权限**:ohos.permission.LOCATION

**系统能力**:SystemCapability.Location.Location.Core

117
**参数:**
L
liu-binjun 已提交
118

119
  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
120
  | -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
121 122
  | type | string | 是 | 设置事件类型。type为“locationServiceState”,表示位置服务状态。 |
  | callback | Callback<boolean> | 是 | 接收位置服务状态变化监听。 |
Z
zengyawen 已提交
123

L
liu-binjun 已提交
124

L
liu-binjun 已提交
125
**示例**
Z
zengyawen 已提交
126
  
L
liu-binjun 已提交
127 128
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
129
  var locationServiceState = (state) => {
L
liu-binjun 已提交
130
      console.log('locationServiceState: ' + JSON.stringify(state));
Z
zengyawen 已提交
131 132 133 134 135
  }
  geolocation.on('locationServiceState', locationServiceState);
  ```


136
## geolocation.off('locationServiceState')
Z
zengyawen 已提交
137

L
liu-binjun 已提交
138
off(type: 'locationServiceState', callback?: Callback<boolean>): void;
Z
zengyawen 已提交
139 140 141

取消订阅位置服务状态变化。

L
liu-binjun 已提交
142 143 144 145
**需要权限**:ohos.permission.LOCATION

**系统能力**:SystemCapability.Location.Location.Core

L
liu-binjun 已提交
146 147
**参数**

148
  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
149
  | -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
150
  | type | string | 是 | 设置事件类型。type为“locationServiceState”,表示位置服务状态。 |
151
  | callback | Callback<boolean> | 否 | 需要取消订阅的回调函数。若无此参数,则取消当前类型的所有订阅。 |
Z
zengyawen 已提交
152

L
liu-binjun 已提交
153

L
liu-binjun 已提交
154
**示例**
Z
zengyawen 已提交
155
  
L
liu-binjun 已提交
156 157
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
158
  var locationServiceState = (state) => {
L
liu-binjun 已提交
159
      console.log('locationServiceState: state: ' + JSON.stringify(state));
Z
zengyawen 已提交
160 161 162 163 164 165
  }
  geolocation.on('locationServiceState', locationServiceState);
  geolocation.off('locationServiceState', locationServiceState);
  ```


166
## geolocation.on('cachedGnssLocationsReporting')<sup>8+</sup>
Z
zengyawen 已提交
167

L
liu-binjun 已提交
168
on(type: 'cachedGnssLocationsReporting', request: CachedGnssLocationsRequest, callback: Callback&lt;Array&lt;Location&gt;&gt;): void;
Z
zengyawen 已提交
169 170 171

订阅缓存GNSS定位结果上报事件。

L
liu-binjun 已提交
172 173 174 175
**需要权限**:ohos.permission.LOCATION

**系统能力**:SystemCapability.Location.Location.Gnss

L
liu-binjun 已提交
176 177
**参数**

178
  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
179
  | -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
180
  | type | string | 是 | 设置事件类型。type为“cachedGnssLocationsReporting”,表示GNSS缓存定位结果上报。 |
L
liu-binjun 已提交
181
  | request |  [CachedGnssLocationsRequest](#cachedgnsslocationsrequest) | 是 | GNSS缓存功能配置参数 |
Z
zengyawen 已提交
182
  | callback | Callback&lt;boolean&gt; | 是 | 接收GNSS缓存位置上报。 |
Z
zengyawen 已提交
183

L
liu-binjun 已提交
184

L
liu-binjun 已提交
185
**示例**
Z
zengyawen 已提交
186
  
L
liu-binjun 已提交
187 188
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
189
  var cachedLocationsCb = (locations) => {
L
liu-binjun 已提交
190
      console.log('cachedGnssLocationsReporting: locations: ' + JSON.stringify(locations));
Z
zengyawen 已提交
191 192 193 194 195 196
  }
  var requestInfo = {'reportingPeriodSec': 10, 'wakeUpCacheQueueFull': true};
  geolocation.on('cachedGnssLocationsReporting', requestInfo, cachedLocationsCb);
  ```


197
## geolocation.off('cachedGnssLocationsReporting')<sup>8+</sup>
Z
zengyawen 已提交
198

L
liu-binjun 已提交
199
off(type: 'cachedGnssLocationsReporting', callback?: Callback&lt;Array&lt;Location&gt;&gt;): void;
Z
zengyawen 已提交
200 201 202

取消订阅缓存GNSS定位结果上报事件。

L
liu-binjun 已提交
203 204 205 206
**需要权限**:ohos.permission.LOCATION

**系统能力**:SystemCapability.Location.Location.Gnss

L
liu-binjun 已提交
207 208
**参数**

209
  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
210
  | -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
211
  | type | string | 是 | 设置事件类型。type为“cachedGnssLocationsReporting”,表示GNSS缓存定位结果上报。 |
212
  | callback | Callback&lt;boolean&gt; | 否 | 需要取消订阅的回调函数。若无此参数,则取消当前类型的所有订阅。 |
Z
zengyawen 已提交
213

L
liu-binjun 已提交
214

L
liu-binjun 已提交
215
**示例**
Z
zengyawen 已提交
216
  
L
liu-binjun 已提交
217 218
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
219
  var cachedLocationsCb = (locations) => {
L
liu-binjun 已提交
220
      console.log('cachedGnssLocationsReporting: locations: ' + JSON.stringify(locations));
Z
zengyawen 已提交
221 222 223 224 225 226 227
  }
  var requestInfo = {'reportingPeriodSec': 10, 'wakeUpCacheQueueFull': true};
  geolocation.on('cachedGnssLocationsReporting', requestInfo, cachedLocationsCb);
  geolocation.off('cachedGnssLocationsReporting');
  ```


228
## geolocation.on('gnssStatusChange')<sup>8+</sup>
Z
zengyawen 已提交
229

L
liu-binjun 已提交
230
on(type: 'gnssStatusChange', callback: Callback&lt;SatelliteStatusInfo&gt;): void;
Z
zengyawen 已提交
231 232 233

订阅GNSS卫星状态信息上报事件。

L
liu-binjun 已提交
234 235 236 237
**需要权限**:ohos.permission.LOCATION

**系统能力**:SystemCapability.Location.Location.Gnss

L
liu-binjun 已提交
238 239
**参数**

240
  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
241
  | -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
242
  | type | string | 是 | 设置事件类型。type为“gnssStatusChange”,表示订阅GNSS卫星状态信息上报。 |
L
liu-binjun 已提交
243
  | callback | Callback&lt;[SatelliteStatusInfo](#satellitestatusinfo)&gt; | 是 | 接收GNSS卫星状态信息上报。 |
Z
zengyawen 已提交
244

L
liu-binjun 已提交
245

L
liu-binjun 已提交
246
**示例**
Z
zengyawen 已提交
247
  
L
liu-binjun 已提交
248 249
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
250
  var gnssStatusCb = (satelliteStatusInfo) => {
L
liu-binjun 已提交
251
      console.log('gnssStatusChange: ' + JSON.stringify(satelliteStatusInfo));
Z
zengyawen 已提交
252 253 254 255 256
  }
  geolocation.on('gnssStatusChange', gnssStatusCb);
  ```


257
## geolocation.off('gnssStatusChange')<sup>8+</sup>
Z
zengyawen 已提交
258

L
liu-binjun 已提交
259
off(type: 'gnssStatusChange', callback?: Callback&lt;SatelliteStatusInfo&gt;): void;
Z
zengyawen 已提交
260 261 262

取消订阅GNSS卫星状态信息上报事件。

L
liu-binjun 已提交
263 264 265 266
**需要权限**:ohos.permission.LOCATION

**系统能力**:SystemCapability.Location.Location.Gnss

L
liu-binjun 已提交
267 268
**参数**

269
  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
270
  | -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
271
  | type | string | 是 | 设置事件类型。type为“gnssStatusChange”,表示订阅GNSS卫星状态信息上报。 |
272
  | callback | Callback&lt;[SatelliteStatusInfo](#satellitestatusinfo)&gt; | 否 | 需要取消订阅的回调函数。若无此参数,则取消当前类型的所有订阅。 |
Z
zengyawen 已提交
273

L
liu-binjun 已提交
274
**示例**
Z
zengyawen 已提交
275
  
L
liu-binjun 已提交
276 277
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
278
  var gnssStatusCb = (satelliteStatusInfo) => {
L
liu-binjun 已提交
279
      console.log('gnssStatusChange: ' + JSON.stringify(satelliteStatusInfo));
Z
zengyawen 已提交
280 281 282 283 284 285
  }
  geolocation.on('gnssStatusChange', gnssStatusCb);
  geolocation.off('gnssStatusChange', gnssStatusCb);
  ```


286
## geolocation.on('nmeaMessageChange')<sup>8+</sup>
Z
zengyawen 已提交
287

L
liu-binjun 已提交
288
on(type: 'nmeaMessageChange', callback: Callback&lt;string&gt;): void;
Z
zengyawen 已提交
289 290 291

订阅GNSS NMEA信息上报事件。

L
liu-binjun 已提交
292 293 294 295
**需要权限**:ohos.permission.LOCATION

**系统能力**:SystemCapability.Location.Location.Gnss

L
liu-binjun 已提交
296 297
**参数**

298
  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
299
  | -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
300 301
  | type | string | 是 | 设置事件类型。type为“nmeaMessageChange”,表示订阅GNSS&nbsp;NMEA信息上报。 |
  | callback | Callback&lt;string&gt; | 是 | 接收GNSS&nbsp;NMEA信息上报。 |
Z
zengyawen 已提交
302

L
liu-binjun 已提交
303

L
liu-binjun 已提交
304
**示例**
Z
zengyawen 已提交
305
  
L
liu-binjun 已提交
306 307
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
308
  var nmeaCb = (str) => {
L
liu-binjun 已提交
309
      console.log('nmeaMessageChange: ' + JSON.stringify(str));
Z
zengyawen 已提交
310 311 312 313 314
  }
  geolocation.on('nmeaMessageChange', nmeaCb );
  ```


315
## geolocation.off('nmeaMessageChange')<sup>8+</sup>
Z
zengyawen 已提交
316

L
liu-binjun 已提交
317
off(type: 'nmeaMessageChange', callback?: Callback&lt;string&gt;): void;
Z
zengyawen 已提交
318 319 320

取消订阅GNSS NMEA信息上报事件。

L
liu-binjun 已提交
321 322 323 324
**需要权限**:ohos.permission.LOCATION

**系统能力**:SystemCapability.Location.Location.Gnss

L
liu-binjun 已提交
325 326
**参数**

327
  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
328
  | -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
329
  | type | string | 是 | 设置事件类型。type为“nmeaMessageChange”,表示订阅GNSS&nbsp;NMEA信息上报。 |
330
  | callback | Callback&lt;string&gt; | 否 | 需要取消订阅的回调函数。若无此参数,则取消当前类型的所有订阅。 |
Z
zengyawen 已提交
331

L
liu-binjun 已提交
332

L
liu-binjun 已提交
333
**示例**
Z
zengyawen 已提交
334
  
L
liu-binjun 已提交
335 336
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
337
  var nmeaCb = (str) => {
L
liu-binjun 已提交
338
      console.log('nmeaMessageChange: ' + JSON.stringify(str));
Z
zengyawen 已提交
339 340 341 342 343 344
  }
  geolocation.on('nmeaMessageChange', nmeaCb);
  geolocation.off('nmeaMessageChange', nmeaCb);
  ```


345
## geolocation.on('fenceStatusChange')<sup>8+</sup>
Z
zengyawen 已提交
346

L
liu-binjun 已提交
347
on(type: 'fenceStatusChange', request: GeofenceRequest, want: WantAgent): void;
Z
zengyawen 已提交
348 349 350

添加一个围栏,并订阅地理围栏事件。

L
liu-binjun 已提交
351 352 353 354
**需要权限**:ohos.permission.LOCATION

**系统能力**:SystemCapability.Location.Location.Geofence

L
liu-binjun 已提交
355 356
**参数**

357
  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
358
  | -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
359
  | type | string | 是 | 设置事件类型。type为“fenceStatusChange”,表示订阅围栏事件上报。 |
L
liu-binjun 已提交
360
  | request |  [GeofenceRequest](#geofencerequest) | 是 | 围栏的配置参数。 |
Z
zengyawen 已提交
361
  | want | WantAgent | 是 | 用于接收地理围栏事件上报(进出围栏)。 |
Z
zengyawen 已提交
362

L
liu-binjun 已提交
363

L
liu-binjun 已提交
364
**示例**
Z
zengyawen 已提交
365
  
L
liu-binjun 已提交
366
  ```ts
L
liu-binjun 已提交
367 368 369 370
  import geolocation from '@ohos.geolocation';
  import wantAgent from '@ohos.wantAgent';
  
  let wantAgentInfo = {
Z
zengyawen 已提交
371 372
      wants: [
          {
L
liu-binjun 已提交
373
              bundleName: "com.example.myapplication",
L
liu-binjun 已提交
374
              abilityName: "com.example.myapplication.MainAbility",
Z
zengyawen 已提交
375 376 377
              action: "action1",
          }
      ],
L
liu-binjun 已提交
378
      operationType: wantAgent.OperationType.START_ABILITY,
Z
zengyawen 已提交
379
      requestCode: 0,
L
liu-binjun 已提交
380
      wantAgentFlags: [wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG],
L
liu-binjun 已提交
381 382 383 384 385 386
  };
  
  wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj) => {
    var requestInfo = {'priority': 0x201, 'scenario': 0x301, "geofence": {"latitude": 121, "longitude": 26, "radius": 100, "expiration": 10000}};
    geolocation.on('fenceStatusChange', requestInfo, wantAgentObj);
  });
Z
zengyawen 已提交
387 388 389
  ```


390
## geolocation.off('fenceStatusChange')<sup>8+</sup>
Z
zengyawen 已提交
391

L
liu-binjun 已提交
392
off(type: 'fenceStatusChange', request: GeofenceRequest, want: WantAgent): void;
Z
zengyawen 已提交
393 394 395

删除一个围栏,并取消订阅该围栏事件。

L
liu-binjun 已提交
396 397 398 399
**需要权限**:ohos.permission.LOCATION

**系统能力**:SystemCapability.Location.Location.Geofence

L
liu-binjun 已提交
400 401
**参数**

402
  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
403
  | -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
404
  | type | string | 是 | 设置事件类型。type为“fenceStatusChange”,表示订阅围栏事件上报。 |
L
liu-binjun 已提交
405
  | request | [GeofenceRequest](#geofencerequest) | 是 | 围栏的配置参数。 |
Z
zengyawen 已提交
406
  | want | WantAgent | 是 | 用于接收地理围栏事件上报(进出围栏)。 |
Z
zengyawen 已提交
407

L
liu-binjun 已提交
408
**示例**
Z
zengyawen 已提交
409
  
L
liu-binjun 已提交
410
  ```ts
L
liu-binjun 已提交
411 412 413 414
  import geolocation from '@ohos.geolocation';
  import wantAgent from '@ohos.wantAgent';
  
  let wantAgentInfo = {
Z
zengyawen 已提交
415 416
      wants: [
          {
L
liu-binjun 已提交
417
              bundleName: "com.example.myapplication",
L
liu-binjun 已提交
418
              abilityName: "com.example.myapplication.MainAbility",
Z
zengyawen 已提交
419 420 421
              action: "action1",
          }
      ],
L
liu-binjun 已提交
422
      operationType: wantAgent.OperationType.START_ABILITY,
Z
zengyawen 已提交
423
      requestCode: 0,
L
liu-binjun 已提交
424 425 426 427 428 429 430 431 432 433 434
      wantAgentFlags: [wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
  };
  
  wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj) => {
    var requestInfo = {'priority': 0x201, 'scenario': 0x301, "geofence": {"latitude": 121, "longitude": 26, "radius": 100, "expiration": 10000}};
    geolocation.on('fenceStatusChange', requestInfo, wantAgentObj);
    geolocation.off('fenceStatusChange', requestInfo, wantAgentObj);
  });
  ```


435
## geolocation.getCurrentLocation
Z
zengyawen 已提交
436

L
liu-binjun 已提交
437
getCurrentLocation(request: CurrentLocationRequest, callback: AsyncCallback&lt;Location&gt;): void
Z
zengyawen 已提交
438 439


440
获取当前位置,使用callback回调异步返回结果。
441

L
liu-binjun 已提交
442 443 444
**需要权限**:ohos.permission.LOCATION

**系统能力**:SystemCapability.Location.Location.Core
Z
zengyawen 已提交
445

L
liu-binjun 已提交
446 447
**参数**

448
  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
449
  | -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
450 451
  | request | [CurrentLocationRequest](#currentlocationrequest) | 否 | 设置位置请求参数。 |
  | callback | AsyncCallback&lt;[Location](#location)&gt; | 是 | 用来接收位置信息的回调。 |
Z
zengyawen 已提交
452

L
liu-binjun 已提交
453
**示例**
Z
zengyawen 已提交
454
  
L
liu-binjun 已提交
455 456
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
457 458
  var requestInfo = {'priority': 0x203, 'scenario': 0x300,'maxAccuracy': 0};
  var locationChange = (err, location) => {
L
liu-binjun 已提交
459 460 461 462 463 464
      if (err) {
          console.log('locationChanger: err=' + JSON.stringify(err));
      }
      if (location) {
          console.log('locationChanger: location=' + JSON.stringify(location));
      }
Z
zengyawen 已提交
465 466 467 468 469 470
  };
  geolocation.getCurrentLocation(requestInfo, locationChange);
  geolocation.getCurrentLocation(locationChange);
  ```


471
## geolocation.getCurrentLocation
Z
zengyawen 已提交
472

L
liu-binjun 已提交
473
getCurrentLocation(request?: CurrentLocationRequest): Promise&lt;Location&gt;
Z
zengyawen 已提交
474 475


476
获取当前位置,使用Promise方式异步返回结果。
477

L
liu-binjun 已提交
478 479 480
**需要权限**:ohos.permission.LOCATION

**系统能力**:SystemCapability.Location.Location.Core
Z
zengyawen 已提交
481

L
liu-binjun 已提交
482 483
**参数**

484
  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
485
  | -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
486
  | request | [CurrentLocationRequest](#currentlocationrequest) | 否 | 设置位置请求参数。 |
Z
zengyawen 已提交
487

L
liu-binjun 已提交
488 489
**返回值**

490 491 492
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | Promise&lt;[Location](#location)&gt; |[Location](#location)|NA| 返回位置信息。 |
Z
zengyawen 已提交
493

L
liu-binjun 已提交
494

L
liu-binjun 已提交
495
**示例**
Z
zengyawen 已提交
496
  
L
liu-binjun 已提交
497 498
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
499
  var requestInfo = {'priority': 0x203, 'scenario': 0x300,'maxAccuracy': 0};
L
liu-binjun 已提交
500
  geolocation.getCurrentLocation(requestInfo).then((result) => {
Z
zengyawen 已提交
501 502 503 504 505
      console.log('current location: ' + JSON.stringify(result));
  });
  ```


506
## geolocation.getLastLocation
Z
zengyawen 已提交
507

L
liu-binjun 已提交
508
getLastLocation(callback: AsyncCallback&lt;Location&gt;): void
Z
zengyawen 已提交
509 510 511

获取上一次位置,使用callback回调异步返回结果。

L
liu-binjun 已提交
512 513 514 515
**需要权限**:ohos.permission.LOCATION

**系统能力**:SystemCapability.Location.Location.Core

L
liu-binjun 已提交
516 517
**参数**

518
  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
519
  | -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
520
  | callback | AsyncCallback&lt;[Location](#location)&gt; | 是 | 用来接收上次位置的回调。 |
Z
zengyawen 已提交
521

L
liu-binjun 已提交
522

L
liu-binjun 已提交
523
**示例**
Z
zengyawen 已提交
524
  
L
liu-binjun 已提交
525 526
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
527
  geolocation.getLastLocation((err, data) => {
L
liu-binjun 已提交
528 529 530 531 532 533
      if (err) {
          console.log('getLastLocation: err=' + JSON.stringify(err));
      }
      if (data) {
          console.log('getLastLocation: data=' + JSON.stringify(data));
      }
Z
zengyawen 已提交
534 535 536 537
  });
  ```


538
## geolocation.getLastLocation
Z
zengyawen 已提交
539

L
liu-binjun 已提交
540
getLastLocation(): Promise&lt;Location&gt;
Z
zengyawen 已提交
541 542 543

获取上一次位置,使用Promise方式异步返回结果。

L
liu-binjun 已提交
544 545 546 547
**需要权限**:ohos.permission.LOCATION

**系统能力**:SystemCapability.Location.Location.Core

L
liu-binjun 已提交
548 549
**返回值**

550 551 552
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | Promise&lt;[Location](#location)&gt; | [Location](#location)|NA|返回上次位置信息。 |
Z
zengyawen 已提交
553

L
liu-binjun 已提交
554

L
liu-binjun 已提交
555
**示例**
Z
zengyawen 已提交
556
  
L
liu-binjun 已提交
557 558
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
559 560 561 562 563 564
  geolocation.getLastLocation().then((result) => {
      console.log('getLastLocation: result: ' + JSON.stringify(result));
  });
  ```


565
## geolocation.isLocationEnabled
Z
zengyawen 已提交
566

L
liu-binjun 已提交
567
isLocationEnabled(callback: AsyncCallback&lt;boolean&gt;): void
Z
zengyawen 已提交
568 569


570
判断位置服务是否已经打开,使用callback回调异步返回结果。
571

L
liu-binjun 已提交
572 573 574
**需要权限**:ohos.permission.LOCATION

**系统能力**:SystemCapability.Location.Location.Core
Z
zengyawen 已提交
575

L
liu-binjun 已提交
576 577
**参数**

578
  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
579
  | -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
580
  | callback | AsyncCallback&lt;boolean&gt; | 是 | 用来接收位置服务状态的回调。 |
Z
zengyawen 已提交
581

L
liu-binjun 已提交
582
**示例**
Z
zengyawen 已提交
583
  
L
liu-binjun 已提交
584 585
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
586
  geolocation.isLocationEnabled((err, data) => {
L
liu-binjun 已提交
587 588 589 590 591 592
      if (err) {
          console.log('isLocationEnabled: err=' + JSON.stringify(err));
      }
      if (data) {
          console.log('isLocationEnabled: data=' + JSON.stringify(data));
      }
Z
zengyawen 已提交
593 594 595 596
  });
  ```


597
## geolocation.isLocationEnabled
Z
zengyawen 已提交
598

L
liu-binjun 已提交
599
isLocationEnabled(): Promise&lt;boolean&gt;
Z
zengyawen 已提交
600 601 602

判断位置服务是否已经开启,使用Promise方式异步返回结果。

L
liu-binjun 已提交
603 604 605 606
**需要权限**:ohos.permission.LOCATION

**系统能力**:SystemCapability.Location.Location.Core

L
liu-binjun 已提交
607 608
**返回值**

609 610 611
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | Promise&lt;boolean&gt; | boolean|NA|返回位置服务是否可用的状态。 |
Z
zengyawen 已提交
612

L
liu-binjun 已提交
613
**示例**
Z
zengyawen 已提交
614
  
L
liu-binjun 已提交
615 616
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
617
  geolocation.isLocationEnabled().then((result) => {
L
liu-binjun 已提交
618
      console.log('promise, isLocationEnabled: ' + JSON.stringify(result));
Z
zengyawen 已提交
619 620 621 622
  });
  ```


623
## geolocation.requestEnableLocation
Z
zengyawen 已提交
624

L
liu-binjun 已提交
625
requestEnableLocation(callback: AsyncCallback&lt;boolean&gt;): void
Z
zengyawen 已提交
626 627


628
请求打开位置服务,使用callback回调异步返回结果。
629

L
liu-binjun 已提交
630 631 632
**需要权限**:ohos.permission.LOCATION

**系统能力**:SystemCapability.Location.Location.Core
Z
zengyawen 已提交
633

L
liu-binjun 已提交
634 635
**参数**

636
  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
637
  | -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
638
  | callback | AsyncCallback&lt;boolean&gt; | 是 | 用来接收位置服务状态的回调。 |
Z
zengyawen 已提交
639

L
liu-binjun 已提交
640
**示例**
Z
zengyawen 已提交
641
  
L
liu-binjun 已提交
642 643
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
644
  geolocation.requestEnableLocation((err, data) => {
L
liu-binjun 已提交
645 646 647 648 649 650
      if (err) {
          console.log('requestEnableLocation: err=' + JSON.stringify(err));
      }
      if (data) {
          console.log('requestEnableLocation: data=' + JSON.stringify(data));
      }
Z
zengyawen 已提交
651 652 653 654
  });
  ```


655
## geolocation.requestEnableLocation
Z
zengyawen 已提交
656

L
liu-binjun 已提交
657
requestEnableLocation(): Promise&lt;boolean&gt;
Z
zengyawen 已提交
658 659 660

请求打开位置服务,使用Promise方式异步返回结果。

L
liu-binjun 已提交
661 662 663 664
**需要权限**:ohos.permission.LOCATION

**系统能力**:SystemCapability.Location.Location.Core

L
liu-binjun 已提交
665 666
**返回值**

667 668 669
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | Promise&lt;boolean&gt; | boolean|NA|返回位置服务是否可用。 |
Z
zengyawen 已提交
670

L
liu-binjun 已提交
671
**示例**
Z
zengyawen 已提交
672
  
L
liu-binjun 已提交
673 674
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
675
  geolocation.requestEnableLocation().then((result) => {
L
liu-binjun 已提交
676
      console.log('promise, requestEnableLocation: ' + JSON.stringify(result));
Z
zengyawen 已提交
677 678 679 680
  });
  ```


681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801
## geolocation.enableLocation

enableLocation(callback: AsyncCallback&lt;boolean&gt;): void;

打开位置服务,使用callback回调异步返回结果。

**系统API**:此接口为系统接口,三方应用不支持调用。

**需要权限**:ohos.permission.MANAGE_SECURE_SETTINGS

**系统能力**:SystemCapability.Location.Location.Core

**参数**

  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | callback | AsyncCallback&lt;boolean&gt; | 是 | 用来接收位置服务状态的回调。 |

**示例**
  
  ```ts
  import geolocation from '@ohos.geolocation';
  geolocation.enableLocation((err, data) => {
      if (err) {
          console.log('enableLocation: err=' + JSON.stringify(err));
      }
      if (data) {
          console.log('enableLocation: data=' + JSON.stringify(data));
      }
  });
  ```


## geolocation.enableLocation

enableLocation(): Promise&lt;boolean&gt;

打开位置服务,使用Promise方式异步返回结果。

**系统API**:此接口为系统接口,三方应用不支持调用。

**需要权限**:ohos.permission.MANAGE_SECURE_SETTINGS

**系统能力**:SystemCapability.Location.Location.Core

**返回值**

  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | Promise&lt;boolean&gt; | boolean|NA|返回位置服务是否可用。 |

**示例**
  
  ```ts
  import geolocation from '@ohos.geolocation';
  geolocation.enableLocation().then((result) => {
      console.log('promise, enableLocation: ' + JSON.stringify(result));
  });
  ```

## geolocation.disableLocation

disableLocation(callback: AsyncCallback&lt;boolean&gt;): void;

关闭位置服务,使用callback回调异步返回结果。

**系统API**:此接口为系统接口,三方应用不支持调用。

**需要权限**:ohos.permission.MANAGE_SECURE_SETTINGS

**系统能力**:SystemCapability.Location.Location.Core

**参数**

  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | callback | AsyncCallback&lt;boolean&gt; | 是 | 用来接收位置服务状态的回调。 |

**示例**
  
  ```ts
  import geolocation from '@ohos.geolocation';
  geolocation.disableLocation((err, data) => {
      if (err) {
          console.log('disableLocation: err=' + JSON.stringify(err));
      }
      if (data) {
          console.log('disableLocation: data=' + JSON.stringify(data));
      }
  });
  ```


## geolocation.disableLocation

disableLocation(): Promise&lt;boolean&gt;

关闭位置服务,使用Promise方式异步返回结果。

**系统API**:此接口为系统接口,三方应用不支持调用。

**需要权限**:ohos.permission.MANAGE_SECURE_SETTINGS

**系统能力**:SystemCapability.Location.Location.Core

**返回值**

  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | Promise&lt;boolean&gt; | boolean|NA|返回位置服务是否可用。 |

**示例**
  
  ```ts
  import geolocation from '@ohos.geolocation';
  geolocation.disableLocation().then((result) => {
      console.log('promise, disableLocation: ' + JSON.stringify(result));
  });
  ```

## geolocation.isGeoServiceAvailable
Z
zengyawen 已提交
802

L
liu-binjun 已提交
803
isGeoServiceAvailable(callback: AsyncCallback&lt;boolean&gt;): void
Z
zengyawen 已提交
804 805 806

判断(逆)地理编码服务状态,使用callback回调异步返回结果。

L
liu-binjun 已提交
807 808 809 810
**需要权限**:ohos.permission.LOCATION

**系统能力**:SystemCapability.Location.Location.Geocoder

L
liu-binjun 已提交
811 812
**参数**

813
  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
814
  | -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
815
  | callback | AsyncCallback&lt;boolean&gt; | 是 | 用来接收地理编码服务状态的回调。 |
Z
zengyawen 已提交
816

L
liu-binjun 已提交
817
**示例**
Z
zengyawen 已提交
818
  
L
liu-binjun 已提交
819 820
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
821
  geolocation.isGeoServiceAvailable((err, data) => {
L
liu-binjun 已提交
822 823 824 825 826 827
      if (err) {
          console.log('isGeoServiceAvailable: err=' + JSON.stringify(err));
      }
      if (data) {
          console.log('isGeoServiceAvailable: data=' + JSON.stringify(data));
      }
Z
zengyawen 已提交
828 829 830 831
  });
  ```


832
## geolocation.isGeoServiceAvailable
Z
zengyawen 已提交
833

L
liu-binjun 已提交
834
isGeoServiceAvailable(): Promise&lt;boolean&gt;
Z
zengyawen 已提交
835 836 837

判断(逆)地理编码服务状态,使用Promise方式异步返回结果。

L
liu-binjun 已提交
838 839 840 841
**需要权限**:ohos.permission.LOCATION

**系统能力**:SystemCapability.Location.Location.Geocoder

L
liu-binjun 已提交
842 843
**返回值**

844 845 846
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | Promise&lt;boolean&gt; |boolean|NA| 返回地理编码服务是否可用的状态。 |
Z
zengyawen 已提交
847

L
liu-binjun 已提交
848
**示例**
Z
zengyawen 已提交
849
  
L
liu-binjun 已提交
850 851
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
852
  geolocation.isGeoServiceAvailable().then((result) => {
L
liu-binjun 已提交
853
      console.log('promise, isGeoServiceAvailable: ' + JSON.stringify(result));
Z
zengyawen 已提交
854 855 856 857
  });
  ```


858
## geolocation.getAddressesFromLocation
Z
zengyawen 已提交
859

L
liu-binjun 已提交
860
getAddressesFromLocation(request: ReverseGeoCodeRequest, callback: AsyncCallback&lt;Array&lt;GeoAddress&gt;&gt;): void
Z
zengyawen 已提交
861 862 863

调用逆地理编码服务,将坐标转换为地理描述,使用callback回调异步返回结果。

L
liu-binjun 已提交
864 865 866 867
**需要权限**:ohos.permission.LOCATION

**系统能力**:SystemCapability.Location.Location.Geocoder

L
liu-binjun 已提交
868 869
**参数**

870
  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
871
  | -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
872 873
  | request | [ReverseGeoCodeRequest](#reversegeocoderequest) | 是 | 设置逆地理编码请求的相关参数。 |
  | callback | AsyncCallback&lt;Array&lt;[GeoAddress](#geoaddress)&gt;&gt; | 是 | 设置接收逆地理编码请求的回调参数。 |
Z
zengyawen 已提交
874

L
liu-binjun 已提交
875
**示例**
Z
zengyawen 已提交
876
  
L
liu-binjun 已提交
877 878
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
879 880
  var reverseGeocodeRequest = {"latitude": 31.12, "longitude": 121.11, "maxItems": 1};
  geolocation.getAddressesFromLocation(reverseGeocodeRequest, (err, data) => {
L
liu-binjun 已提交
881 882 883 884 885 886
      if (err) {
          console.log('getAddressesFromLocation: err=' + JSON.stringify(err));
      }
      if (data) {
          console.log('getAddressesFromLocation: data=' + JSON.stringify(data));
      }
Z
zengyawen 已提交
887 888 889 890
  });
  ```


891
## geolocation.getAddressesFromLocation
Z
zengyawen 已提交
892

L
liu-binjun 已提交
893
getAddressesFromLocation(request: ReverseGeoCodeRequest): Promise&lt;Array&lt;GeoAddress&gt;&gt;;
Z
zengyawen 已提交
894 895 896

调用逆地理编码服务,将坐标转换为地理描述,使用Promise方式异步返回结果。

L
liu-binjun 已提交
897 898 899 900
**需要权限**:ohos.permission.LOCATION

**系统能力**:SystemCapability.Location.Location.Geocoder

L
liu-binjun 已提交
901 902
**参数**

903
  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
904
  | -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
905
  | request | [ReverseGeoCodeRequest](#reversegeocoderequest) | 是 | 设置逆地理编码请求的相关参数。 |
Z
zengyawen 已提交
906

L
liu-binjun 已提交
907 908
**返回值**

909 910 911
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | Promise&lt;Array&lt;[GeoAddress](#geoaddress)&gt;&gt; | Array&lt;[GeoAddress](#geoaddress)&gt;|NA|返回地理描述信息。 |
Z
zengyawen 已提交
912

L
liu-binjun 已提交
913
**示例**
Z
zengyawen 已提交
914
  
L
liu-binjun 已提交
915 916
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
917 918 919 920 921 922 923
  var reverseGeocodeRequest = {"latitude": 31.12, "longitude": 121.11, "maxItems": 1};
  geolocation.getAddressesFromLocation(reverseGeocodeRequest).then((data) => {
      console.log('getAddressesFromLocation: ' + JSON.stringify(data));
  });
  ```


924
## geolocation.getAddressesFromLocationName
Z
zengyawen 已提交
925

L
liu-binjun 已提交
926
getAddressesFromLocationName(request: GeoCodeRequest, callback: AsyncCallback&lt;Array&lt;GeoAddress&gt;&gt;): void
Z
zengyawen 已提交
927 928 929

调用地理编码服务,将地理描述转换为具体坐标,使用callback回调异步返回结果。

L
liu-binjun 已提交
930 931 932 933
**需要权限**:ohos.permission.LOCATION

**系统能力**:SystemCapability.Location.Location.Geocoder

L
liu-binjun 已提交
934 935
**参数**

936
  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
937
  | -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
938 939
  | request | [GeoCodeRequest](#geocoderequest) | 是 | 设置地理编码请求的相关参数。 |
  | callback | AsyncCallback&lt;Array&lt;[GeoAddress](#geoaddress)&gt;&gt; | 是 | 设置接收地理编码请求的回调参数。 |
Z
zengyawen 已提交
940

L
liu-binjun 已提交
941
**示例**
Z
zengyawen 已提交
942
  
L
liu-binjun 已提交
943 944
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
945 946
  var geocodeRequest = {"description": "上海市浦东新区xx路xx号", "maxItems": 1};
  geolocation.getAddressesFromLocationName(geocodeRequest, (err, data) => {
L
liu-binjun 已提交
947 948 949 950 951 952
      if (err) {
          console.log('getAddressesFromLocationName: err=' + JSON.stringify(err));
      }
      if (data) {
          console.log('getAddressesFromLocationName: data=' + JSON.stringify(data));
      }
Z
zengyawen 已提交
953 954 955 956
  });
  ```


957
## geolocation.getAddressesFromLocationName
Z
zengyawen 已提交
958

L
liu-binjun 已提交
959
getAddressesFromLocationName(request: GeoCodeRequest): Promise&lt;Array&lt;GeoAddress&gt;&gt;
Z
zengyawen 已提交
960 961 962

调用地理编码服务,将地理描述转换为具体坐标,使用Promise方式异步返回结果。

L
liu-binjun 已提交
963
**需要权限**:ohos.permission.LOCATION
L
liu-binjun 已提交
964

L
liu-binjun 已提交
965
**系统能力**:SystemCapability.Location.Location.Geocoder
L
liu-binjun 已提交
966

L
liu-binjun 已提交
967 968
**参数**

969
  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
970
  | -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
971
  | request | [GeoCodeRequest](#geocoderequest) | 是 | 设置地理编码请求的相关参数。 |
Z
zengyawen 已提交
972

L
liu-binjun 已提交
973 974
**返回值**

975 976 977
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | Promise&lt;Array&lt;[GeoAddress](#geoaddress)&gt;&gt; | Array&lt;[GeoAddress](#geoaddress)&gt;|NA|设置接收地理编码请求的回调参数。 |
Z
zengyawen 已提交
978

L
liu-binjun 已提交
979
**示例**
Z
zengyawen 已提交
980
  
L
liu-binjun 已提交
981 982
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
983 984 985 986 987 988 989
  var geocodeRequest = {"description": "上海市浦东新区xx路xx号", "maxItems": 1};
  geolocation.getAddressesFromLocationName(geocodeRequest).then((result) => {
      console.log('getAddressesFromLocationName: ' + JSON.stringify(result));
  });
  ```


990
## geolocation.getCachedGnssLocationsSize<sup>8+</sup>
Z
zengyawen 已提交
991

L
liu-binjun 已提交
992
getCachedGnssLocationsSize(callback: AsyncCallback&lt;number&gt;): void;
Z
zengyawen 已提交
993 994 995

获取GNSS芯片缓存位置的个数。

L
liu-binjun 已提交
996
**需要权限**:ohos.permission.LOCATION
L
liu-binjun 已提交
997

L
liu-binjun 已提交
998
**系统能力**:SystemCapability.Location.Location.Gnss
L
liu-binjun 已提交
999

L
liu-binjun 已提交
1000 1001
**参数**

1002
  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
1003
  | -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
1004
  | callback | AsyncCallback&lt;number&gt; | 是 | 用来接收GNSS芯片缓存位置个数的回调。 |
Z
zengyawen 已提交
1005

L
liu-binjun 已提交
1006
**示例**
Z
zengyawen 已提交
1007
  
L
liu-binjun 已提交
1008 1009
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
1010
  geolocation.getCachedGnssLocationsSize((err, size) => {
L
liu-binjun 已提交
1011 1012 1013 1014 1015 1016
      if (err) {
          console.log('getCachedGnssLocationsSize: err=' + JSON.stringify(err));
      }
      if (size) {
          console.log('getCachedGnssLocationsSize: size=' + JSON.stringify(size));
      }
Z
zengyawen 已提交
1017 1018 1019 1020
  });
  ```


1021
## geolocation.getCachedGnssLocationsSize<sup>8+</sup>
Z
zengyawen 已提交
1022

L
liu-binjun 已提交
1023
getCachedGnssLocationsSize(): Promise&lt;number&gt;;
Z
zengyawen 已提交
1024 1025 1026

获取GNSS芯片缓存位置的个数。

L
liu-binjun 已提交
1027
**需要权限**:ohos.permission.LOCATION
L
liu-binjun 已提交
1028

L
liu-binjun 已提交
1029
**系统能力**:SystemCapability.Location.Location.Gnss
L
liu-binjun 已提交
1030

L
liu-binjun 已提交
1031 1032
**返回值**

1033 1034 1035
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | Promise&lt;number&gt; | number|NA|返回GNSS缓存位置的个数。 |
Z
zengyawen 已提交
1036

L
liu-binjun 已提交
1037
**示例**
Z
zengyawen 已提交
1038
  
L
liu-binjun 已提交
1039 1040
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
1041
  geolocation.getCachedGnssLocationsSize().then((result) => {
L
liu-binjun 已提交
1042
      console.log('promise, getCachedGnssLocationsSize: ' + JSON.stringify(result));
Z
zengyawen 已提交
1043 1044 1045 1046
  });
  ```


1047
## geolocation.flushCachedGnssLocations<sup>8+</sup>
Z
zengyawen 已提交
1048

L
liu-binjun 已提交
1049
flushCachedGnssLocations(callback: AsyncCallback&lt;boolean&gt;): void;
Z
zengyawen 已提交
1050 1051 1052

读取并清空GNSS芯片所有缓存位置。

L
liu-binjun 已提交
1053
**需要权限**:ohos.permission.LOCATION
L
liu-binjun 已提交
1054

L
liu-binjun 已提交
1055
**系统能力**:SystemCapability.Location.Location.Gnss
L
liu-binjun 已提交
1056

L
liu-binjun 已提交
1057 1058
**参数**

1059
  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
1060
  | -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
1061
  | callback | AsyncCallback&lt;boolean&gt; | 是 | 用来接收清空GNSS芯片缓存位置操作的结果。 |
Z
zengyawen 已提交
1062

L
liu-binjun 已提交
1063
**示例**
Z
zengyawen 已提交
1064
  
L
liu-binjun 已提交
1065 1066
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
1067
  geolocation.flushCachedGnssLocations((err, result) => {
L
liu-binjun 已提交
1068 1069 1070 1071 1072 1073
      if (err) {
          console.log('flushCachedGnssLocations: err=' + JSON.stringify(err));
      }
      if (result) {
          console.log('flushCachedGnssLocations: result=' + JSON.stringify(result));
      }
Z
zengyawen 已提交
1074 1075 1076 1077
  });
  ```


1078
## geolocation.flushCachedGnssLocations<sup>8+</sup>
Z
zengyawen 已提交
1079

L
liu-binjun 已提交
1080
flushCachedGnssLocations(): Promise&lt;boolean&gt;;
Z
zengyawen 已提交
1081 1082 1083

读取并清空GNSS芯片所有缓存位置。

L
liu-binjun 已提交
1084
**需要权限**:ohos.permission.LOCATION
L
liu-binjun 已提交
1085

L
liu-binjun 已提交
1086
**系统能力**:SystemCapability.Location.Location.Gnss
L
liu-binjun 已提交
1087

L
liu-binjun 已提交
1088 1089
**返回值**

1090 1091 1092
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | Promise&lt;boolean&gt; |boolean|NA| 清空所有GNSS缓存位置是否成功。 |
Z
zengyawen 已提交
1093

L
liu-binjun 已提交
1094
**示例**
Z
zengyawen 已提交
1095
  
L
liu-binjun 已提交
1096 1097
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
1098
  geolocation.flushCachedGnssLocations().then((result) => {
L
liu-binjun 已提交
1099
      console.log('promise, flushCachedGnssLocations: ' + JSON.stringify(result));
Z
zengyawen 已提交
1100 1101 1102 1103
  });
  ```


1104
## geolocation.sendCommand<sup>8+</sup>
Z
zengyawen 已提交
1105

L
liu-binjun 已提交
1106
sendCommand(command: LocationCommand, callback: AsyncCallback&lt;boolean&gt;): void;
Z
zengyawen 已提交
1107

1108
给位置服务子系统的各个部件发送扩展命令。
Z
zengyawen 已提交
1109

L
liu-binjun 已提交
1110
**需要权限**:ohos.permission.LOCATION
L
liu-binjun 已提交
1111 1112 1113

**系统能力**:SystemCapability.Location.Location.Core

L
liu-binjun 已提交
1114 1115
**参数**

1116
  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
1117
  | -------- | -------- | -------- | -------- |
L
liu-binjun 已提交
1118
  | command |  [LocationCommand](#locationcommand) | 是 | 指定目标场景,和将要发送的命令(字符串)。 |
Z
zengyawen 已提交
1119
  | callback | AsyncCallback&lt;boolean&gt; | 是 | 用来接收命令发送的结果。 |
Z
zengyawen 已提交
1120

L
liu-binjun 已提交
1121
**示例**
Z
zengyawen 已提交
1122
  
L
liu-binjun 已提交
1123 1124
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
1125 1126
  var requestInfo = {'scenario': 0x301, 'command': "command_1"};
  geolocation.sendCommand(requestInfo, (err, result) => {
L
liu-binjun 已提交
1127 1128 1129 1130 1131 1132
      if (err) {
          console.log('sendCommand: err=' + JSON.stringify(err));
      }
      if (result) {
          console.log('sendCommand: result=' + JSON.stringify(result));
      }
Z
zengyawen 已提交
1133 1134 1135 1136
  });
  ```


1137
## geolocation.sendCommand<sup>8+</sup>
Z
zengyawen 已提交
1138

L
liu-binjun 已提交
1139
sendCommand(command: LocationCommand): Promise&lt;boolean&gt;;
Z
zengyawen 已提交
1140

1141
给位置服务子系统的各个部件发送扩展命令。
Z
zengyawen 已提交
1142

L
liu-binjun 已提交
1143
**需要权限**:ohos.permission.LOCATION
L
liu-binjun 已提交
1144 1145 1146

**系统能力**:SystemCapability.Location.Location.Core

L
liu-binjun 已提交
1147 1148
**参数**

1149
  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
1150
  | -------- | -------- | -------- | -------- |
L
liu-binjun 已提交
1151
  | command | [LocationCommand](#locationcommand) | 是 | 指定目标场景,和将要发送的命令(字符串)。 |
Z
zengyawen 已提交
1152

L
liu-binjun 已提交
1153 1154
**返回值**

1155 1156 1157
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | Promise&lt;boolean&gt; |boolean|NA| 表示命令发送成功或失败。 |
Z
zengyawen 已提交
1158

L
liu-binjun 已提交
1159
**示例**
Z
zengyawen 已提交
1160
  
L
liu-binjun 已提交
1161 1162
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
1163 1164
  var requestInfo = {'scenario': 0x301, 'command': "command_1"};
  geolocation.sendCommand(requestInfo).then((result) => {
L
liu-binjun 已提交
1165
      console.log('promise, sendCommand: ' + JSON.stringify(result));
Z
zengyawen 已提交
1166 1167 1168 1169 1170
  });
  ```



1171
## LocationRequestPriority
L
liu-binjun 已提交
1172

1173
位置请求中位置信息优先级设置。
1174

L
liu-binjun 已提交
1175
**需要权限**:ohos.permission.LOCATION
L
liu-binjun 已提交
1176 1177 1178

**系统能力**:SystemCapability.Location.Location.Core

1179
| 名称 | 值 | 说明 |
L
liu-binjun 已提交
1180 1181 1182 1183 1184
| -------- | -------- | -------- |
| UNSET | 0x200 | 表示未设置优先级。 |
| ACCURACY | 0x201 | 表示精度优先。 |
| LOW_POWER | 0x202 | 表示低功耗优先。 |
| FIRST_FIX | 0x203 | 表示快速获取位置优先,如果应用希望快速拿到1个位置,可以将优先级设置为该字段。 |
L
liu-binjun 已提交
1185

Z
zengyawen 已提交
1186

1187
## LocationRequestScenario
L
liu-binjun 已提交
1188 1189 1190 1191

  位置请求中定位场景设置。

**需要权限**:ohos.permission.LOCATION
Z
zengyawen 已提交
1192

L
liu-binjun 已提交
1193
**系统能力**:SystemCapability.Location.Location.Core
Z
zengyawen 已提交
1194

1195
| 名称 | 值 | 说明 |
L
liu-binjun 已提交
1196 1197 1198 1199 1200 1201 1202
| -------- | -------- | -------- |
| UNSET | 0x300 | 表示未设置场景信息。 |
| NAVIGATION | 0x301 | 表示导航场景。 |
| TRAJECTORY_TRACKING | 0x302 | 表示运动轨迹记录场景。 |
| CAR_HAILING | 0x303 | 表示打车场景。 |
| DAILY_LIFE_SERVICE | 0x304 | 表示日常服务使用场景。 |
| NO_POWER | 0x305 | 表示无功耗功场景,这种场景下不会主动触发定位,会在其他应用定位时,才给当前应用返回位置。 |
Z
zengyawen 已提交
1203 1204


1205
## GeoLocationErrorCode
Z
zengyawen 已提交
1206

L
liu-binjun 已提交
1207
位置服务中的错误码信息。
L
liu-binjun 已提交
1208

L
liu-binjun 已提交
1209
**需要权限**:ohos.permission.LOCATION
L
liu-binjun 已提交
1210 1211 1212

**系统能力**:SystemCapability.Location.Location.Core

1213
| 名称 | 值 | 说明 |
L
liu-binjun 已提交
1214 1215 1216 1217 1218 1219 1220 1221
| -------- | -------- | -------- |
| INPUT_PARAMS_ERROR<sup>7+</sup> | 101 | 表示输入参数错误。 |
| REVERSE_GEOCODE_ERROR<sup>7+</sup> | 102 | 表示逆地理编码接口调用失败。 |
| GEOCODE_ERROR<sup>7+</sup> | 103 | 表示地理编码接口调用失败。 |
| LOCATOR_ERROR<sup>7+</sup> | 104 | 表示定位失败。 |
| LOCATION_SWITCH_ERROR<sup>7+</sup> | 105 | 表示定位开关。 |
| LAST_KNOWN_LOCATION_ERROR<sup>7+</sup> | 106 | 表示获取上次位置失败。 |
| LOCATION_REQUEST_TIMEOUT_ERROR<sup>7+</sup> | 107 | 表示单次定位,没有在指定时间内返回位置。 |
L
liu-binjun 已提交
1222

Z
zengyawen 已提交
1223

1224
## ReverseGeoCodeRequest
L
liu-binjun 已提交
1225

L
liu-binjun 已提交
1226
逆地理编码请求接口。
Z
zengyawen 已提交
1227

L
liu-binjun 已提交
1228
**需要权限**:ohos.permission.LOCATION
Z
zengyawen 已提交
1229

L
liu-binjun 已提交
1230
**系统能力**:SystemCapability.Location.Location.Geocoder
Z
zengyawen 已提交
1231

1232
| 名称 | 类型 | 可读 | 可写 | 说明 |
L
liu-binjun 已提交
1233
| -------- | -------- | -------- | -------- |
1234 1235 1236 1237
| locale | string | 是 | 是 | 指定位置描述信息的语言,“zh”代表中文,“en”代表英文。 |
| latitude | number | 是 | 是 | 表示纬度信息,正值表示北纬,负值表示南纬。 |
| longitude | number | 是 | 是 | 表示经度信息,正值表示东经,负值表示西经。 |
| maxItems | number | 是 | 是 | 指定返回位置信息的最大个数。 |
Z
zengyawen 已提交
1238 1239


1240
## GeoCodeRequest
Z
zengyawen 已提交
1241

L
liu-binjun 已提交
1242
地理编码请求接口。
L
liu-binjun 已提交
1243

L
liu-binjun 已提交
1244
**需要权限**:ohos.permission.LOCATION
L
liu-binjun 已提交
1245

L
liu-binjun 已提交
1246
**系统能力**:SystemCapability.Location.Location.Geocoder
L
liu-binjun 已提交
1247

1248
| 名称 | 类型 | 可读|可写 | 说明 |
L
liu-binjun 已提交
1249
| -------- | -------- | -------- | -------- |
1250 1251 1252 1253 1254 1255 1256
| locale | string | 是 | 是 | 表示位置描述信息的语言,“zh”代表中文,“en”代表英文。 |
| description | number | 是 | 是 | 表示位置信息描述,如“上海市浦东新区xx路xx号”。 |
| maxItems | number | 是 | 是 | 表示返回位置信息的最大个数。 |
| minLatitude | number | 是 | 是 | 表示最小纬度信息,与下面三个参数一起,表示一个经纬度范围。 |
| minLongitude | number | 是 | 是 | 表示最小经度信息。 |
| maxLatitude | number | 是 | 是 | 表示最大纬度信息。 |
| maxLongitude | number | 是 | 是 | 表示最大经度信息。 |
L
liu-binjun 已提交
1257

Z
zengyawen 已提交
1258

1259
## GeoAddress
L
liu-binjun 已提交
1260 1261

地理编码类型。
Z
zengyawen 已提交
1262

L
liu-binjun 已提交
1263 1264 1265
**需要权限**:ohos.permission.LOCATION

**系统能力**:SystemCapability.Location.Location.Geocoder
Z
zengyawen 已提交
1266

1267
| 名称 | 类型 | 可读|可写 | 说明 |
L
liu-binjun 已提交
1268
| -------- | -------- | -------- | -------- |
1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288
| latitude<sup>7+</sup> | number | 是 | 否 | 表示纬度信息,正值表示北纬,负值表示南纬。 |
| longitude<sup>7+</sup> | number | 是 | 否 | 表示经度信息,正值表示东经,负值表是西经。 |
| locale<sup>7+</sup> | string | 是 | 否 | 表示位置描述信息的语言,“zh”代表中文,“en”代表英文。 |
| placeName<sup>7+</sup> | string | 是 | 否 | 表示地区信息。 |
| countryCode<sup>7+</sup> | string | 是 | 否 | 表示国家码信息。 |
| countryName<sup>7+</sup> | string | 是 | 否 | 表示国家信息。 |
| administrativeArea<sup>7+</sup> | string | 是 | 否 | 表示省份区域信息。 |
| subAdministrativeArea<sup>7+</sup> | string | 是 | 否 | 表示表示子区域信息。 |
| locality<sup>7+</sup> | string | 是 | 否 | 表示城市信息。 |
| subLocality<sup>7+</sup> | string | 是 | 否 | 表示子城市信息。 |
| roadName<sup>7+</sup> | string | 是 | 否 | 表示路名信息。 |
| subRoadName<sup>7+</sup> | string | 是 | 否 | 表示子路名信息。 |
| premises<sup>7+</sup> | string | 是 | 否 | 表示门牌号信息。 |
| postalCode<sup>7+</sup> | string | 是 | 否 | 表示邮政编码信息。 |
| phoneNumber<sup>7+</sup> | string | 是 | 否| 表示联系方式信息。 |
| addressUrl<sup>7+</sup> | string | 是 | 否 | 表示位置信息附件的网址信息。 |
| descriptions<sup>7+</sup> | Array&lt;string&gt; | 是 | 否 | 表示附加的描述信息。 |
| descriptionsSize<sup>7+</sup> | number | 是 | 否 | 表示附加的描述信息数量。 |


1289
## LocationRequest
Z
zengyawen 已提交
1290

L
liu-binjun 已提交
1291
位置信息请求类型。
L
liu-binjun 已提交
1292

L
liu-binjun 已提交
1293
**需要权限**:ohos.permission.LOCATION
L
liu-binjun 已提交
1294 1295 1296

**系统能力**:SystemCapability.Location.Location.Core

1297
| 名称 | 类型 | 可读|可写 | 说明 |
L
liu-binjun 已提交
1298
| -------- | -------- | -------- | -------- |
1299 1300 1301 1302 1303
| priority | [LocationRequestPriority](#locationrequestpriority) | 是 | 是 | 表示优先级信息。 |
| scenario | [LocationRequestScenario](#locationrequestscenario) | 是 | 是 | 表示场景信息。 |
| timeInterval | number | 是 | 是 | 表示上报位置信息的时间间隔。 |
| distanceInterval | number | 是 | 是 | 表示上报位置信息的距离间隔。 |
| maxAccuracy | number | 是 | 是 | 表示精度信息。仅在精确位置功能场景下有效,模糊位置功能生效场景下该字段无意义。 |
L
liu-binjun 已提交
1304

Z
zengyawen 已提交
1305

1306
## CurrentLocationRequest
L
liu-binjun 已提交
1307

L
liu-binjun 已提交
1308
当前位置信息请求类型。
Z
zengyawen 已提交
1309

L
liu-binjun 已提交
1310
**需要权限**:ohos.permission.LOCATION
L
liu-binjun 已提交
1311

L
liu-binjun 已提交
1312
**系统能力**:SystemCapability.Location.Location.Core
L
liu-binjun 已提交
1313

1314
| 名称 | 类型 | 可读|可写 | 说明 |
L
liu-binjun 已提交
1315
| -------- | -------- | -------- | -------- |
1316 1317 1318 1319
| priority | [LocationRequestPriority](#locationrequestpriority) | 是 | 是 | 表示优先级信息。 |
| scenario | [LocationRequestScenario](#locationrequestscenario) | 是 | 是 | 表示场景信息。 |
| maxAccuracy | number | 是 | 是| 表示精度信息,单位是米。仅在精确位置功能场景下有效,模糊位置功能生效场景下该字段无意义。 |
| timeoutMs | number | 是 | 是 | 表示超时时间,单位是毫秒,最小为1000毫秒。 |
L
liu-binjun 已提交
1320 1321


1322
## SatelliteStatusInfo<sup>8+</sup>
L
liu-binjun 已提交
1323

L
liu-binjun 已提交
1324
卫星状态信息。
L
liu-binjun 已提交
1325

L
liu-binjun 已提交
1326
**需要权限**:ohos.permission.LOCATION
L
liu-binjun 已提交
1327

L
liu-binjun 已提交
1328
**系统能力**:SystemCapability.Location.Location.Gnss
L
liu-binjun 已提交
1329

1330
| 名称 | 类型 | 可读|可写 | 说明 |
L
liu-binjun 已提交
1331
| -------- | -------- | -------- | -------- |
1332 1333 1334 1335 1336 1337
| satellitesNumber | number | 是 | 否 | 表示卫星个数。 |
| satelliteIds | Array&lt;number&gt; | 是 | 否 | 表示每个卫星的ID,数组类型。 |
| carrierToNoiseDensitys | Array&lt;number&gt; | 是 | 否 | 表示载波噪声功率谱密度比,即cn0。 |
| altitudes | Array&lt;number&gt; | 是 | 否 | 表示高程信息。 |
| azimuths | Array&lt;number&gt; | 是 | 否 | 表示方位角。 |
| carrierFrequencies | Array&lt;number&gt; | 是 | 否 | 表示载波频率。 |
L
liu-binjun 已提交
1338 1339


1340
## CachedGnssLocationsRequest<sup>8+</sup>
L
liu-binjun 已提交
1341

L
liu-binjun 已提交
1342
请求订阅GNSS缓存位置上报功能接口的配置参数。
L
liu-binjun 已提交
1343

L
liu-binjun 已提交
1344
**需要权限**:ohos.permission.LOCATION
L
liu-binjun 已提交
1345

L
liu-binjun 已提交
1346
**系统能力**:SystemCapability.Location.Location.Gnss
L
liu-binjun 已提交
1347

1348
| 名称 | 类型 | 可读|可写 | 说明 |
L
liu-binjun 已提交
1349
| -------- | -------- | -------- | -------- |
1350 1351
| reportingPeriodSec | number | 是 | 是 | 表示GNSS缓存位置上报的周期,单位是毫秒。 |
| wakeUpCacheQueueFull | boolean | 是 | 是  | true表示GNSS芯片底层缓存队列满之后会主动唤醒AP芯片,并把缓存位置上报给应用。<br/>false表示GNSS芯片底层缓存队列满之后不会主动唤醒AP芯片,会把缓存位置直接丢弃。 |
L
liu-binjun 已提交
1352 1353


1354
## Geofence<sup>8+</sup>
L
liu-binjun 已提交
1355

L
liu-binjun 已提交
1356
GNSS围栏的配置参数。目前只支持圆形围栏。
Z
zengyawen 已提交
1357

L
liu-binjun 已提交
1358
**需要权限**:ohos.permission.LOCATION
L
liu-binjun 已提交
1359

L
liu-binjun 已提交
1360
**系统能力**:SystemCapability.Location.Location.Geofence
L
liu-binjun 已提交
1361

1362
| 名称 | 类型 | 可读|可写 | 说明 |
Z
zengyawen 已提交
1363
| -------- | -------- | -------- | -------- |
1364 1365 1366 1367
| latitude | number | 是 | 是  | 表示纬度。 |
| longitude | number | 是 | 是  | 表示经度。 |
| radius | number | 是 | 是  | 表示圆形围栏的半径。 |
| expiration | number | 是 | 是  | 围栏存活的时间,单位是毫秒。 |
Z
zengyawen 已提交
1368 1369


1370
## GeofenceRequest<sup>8+</sup>
Z
zengyawen 已提交
1371 1372 1373

请求添加GNSS围栏消息中携带的参数,包括定位优先级、定位场景和围栏信息。

L
liu-binjun 已提交
1374
**需要权限**:ohos.permission.LOCATION
L
liu-binjun 已提交
1375

L
liu-binjun 已提交
1376
**系统能力**:SystemCapability.Location.Location.Geofence
L
liu-binjun 已提交
1377

1378
| 名称 | 类型 | 可读|可写 | 说明 |
Z
zengyawen 已提交
1379
| -------- | -------- | -------- | -------- |
1380 1381 1382
| priority | [LocationRequestPriority](#locationrequestpriority) | 是 | 是  | 表示位置信息优先级。 |
| scenario | [LocationRequestScenario](#locationrequestscenario) | 是 | 是  | 表示定位场景。 |
| geofence | [Geofence](#geofence)| 是 | 是  | 表示围栏信息。 |
Z
zengyawen 已提交
1383 1384


1385
## LocationPrivacyType<sup>8+</sup>
Z
zengyawen 已提交
1386 1387 1388

定位服务隐私协议类型。

L
liu-binjun 已提交
1389
**需要权限**:ohos.permission.LOCATION
L
liu-binjun 已提交
1390 1391 1392

**系统能力**:SystemCapability.Location.Location.Core

1393
| 名称 | 值 | 说明 |
Z
zengyawen 已提交
1394
| -------- | -------- | -------- |
Z
zengyawen 已提交
1395 1396 1397
| OTHERS | 0 | 其他场景。 |
| STARTUP | 1 | 开机向导场景下的隐私协议。 |
| CORE_LOCATION | 2 | 开启网络定位时弹出的隐私协议。 |
Z
zengyawen 已提交
1398 1399


1400
## LocationCommand<sup>8+</sup>
Z
zengyawen 已提交
1401 1402 1403

扩展命令结构体。

L
liu-binjun 已提交
1404
**需要权限**:ohos.permission.LOCATION
L
liu-binjun 已提交
1405 1406 1407

**系统能力**:SystemCapability.Location.Location.Core

1408
| 名称 | 类型 | 可读|可写 | 说明 |
Z
zengyawen 已提交
1409
| -------- | -------- | -------- | -------- |
1410 1411
| scenario | [LocationRequestScenario](#locationrequestscenario)  | 是 | 是  | 表示定位场景。 |
| command | string | 是 | 是  | 扩展命令字符串。 |
Z
zengyawen 已提交
1412 1413


1414
## Location
Z
zengyawen 已提交
1415 1416 1417

位置信息类型。

L
liu-binjun 已提交
1418
**需要权限**:ohos.permission.LOCATION
L
liu-binjun 已提交
1419 1420 1421

**系统能力**:SystemCapability.Location.Location.Core

1422
| 名称 | 类型 | 可读|可写 | 说明 |
Z
zengyawen 已提交
1423
| -------- | -------- | -------- | -------- |
1424 1425 1426 1427 1428 1429 1430 1431 1432 1433
| latitude<sup>7+</sup> | number | 是 | 否 | 表示纬度信息,正值表示北纬,负值表示南纬。 |
| longitude<sup>7+</sup> | number | 是 | 否 | 表示经度信息,正值表示东经,负值表是西经。 |
| altitude<sup>7+</sup> | number | 是 | 否 | 表示高度信息,单位米。 |
| accuracy<sup>7+</sup> | number | 是 | 否 | 表示精度信息,单位米。 |
| speed<sup>7+</sup> | number | 是 | 否 | 表示速度信息,单位米每秒。 |
| timeStamp<sup>7+</sup> | number | 是 | 否 | 表示位置时间戳,UTC格式。 |
| direction<sup>7+</sup> | number | 是 | 否 | 表示航向信息。 |
| timeSinceBoot<sup>7+</sup> | number | 是 | 否 | 表示位置时间戳,开机时间格式。 |
| additions<sup>7+</sup> | Array&lt;string&gt; | 是 | 否 | 附加信息。 |
| additionSize<sup>7+</sup> | number | 是 | 否 | 附加信息数量。 |