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

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

> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
Z
zengyawen 已提交
6 7
> - 从API Version 9开始,该接口不再维护,推荐使用新接口[`@ohos.geoLocationManager`](js-apis-geoLocationManager.md)。
> - 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
Z
zengyawen 已提交
8 9 10 11


## 导入模块

L
liu-binjun 已提交
12
```ts
Z
zengyawen 已提交
13 14 15 16 17
import geolocation from '@ohos.geolocation';
```

## geolocation.on('locationChange')

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

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

L
liu-binjun 已提交
22 23 24 25
**需要权限**:ohos.permission.LOCATION

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

26
**参数:**
L
liu-binjun 已提交
27

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

L
liu-binjun 已提交
35

L
liu-binjun 已提交
36
**示例**
Z
zengyawen 已提交
37
  
L
liu-binjun 已提交
38 39
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
40 41 42 43 44 45 46 47 48 49
  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')

L
liu-binjun 已提交
50
off(type: 'locationChange', callback?: Callback<Location>): void
Z
zengyawen 已提交
51 52 53

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

L
liu-binjun 已提交
54 55 56 57
**需要权限**:ohos.permission.LOCATION

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

58
**参数:**
L
liu-binjun 已提交
59

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

L
liu-binjun 已提交
65

L
liu-binjun 已提交
66
**示例**
Z
zengyawen 已提交
67
  
L
liu-binjun 已提交
68 69
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
70 71 72 73 74 75 76 77 78 79 80
  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);
  ```


## geolocation.on('locationServiceState')

L
liu-binjun 已提交
81
on(type: 'locationServiceState', callback: Callback<boolean>): void
Z
zengyawen 已提交
82 83 84

订阅位置服务状态变化。

L
liu-binjun 已提交
85 86 87 88
**需要权限**:ohos.permission.LOCATION

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

89
**参数:**
L
liu-binjun 已提交
90

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

L
liu-binjun 已提交
96

L
liu-binjun 已提交
97
**示例**
Z
zengyawen 已提交
98
  
L
liu-binjun 已提交
99 100
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
101
  var locationServiceState = (state) => {
L
liu-binjun 已提交
102
      console.log('locationServiceState: ' + JSON.stringify(state));
Z
zengyawen 已提交
103 104 105 106 107 108 109
  }
  geolocation.on('locationServiceState', locationServiceState);
  ```


## geolocation.off('locationServiceState')

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

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

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

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

L
liu-binjun 已提交
118 119
**参数**

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

L
liu-binjun 已提交
125

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


L
liu-binjun 已提交
138
## geolocation.on('cachedGnssLocationsReporting')<sup>8+</sup>
Z
zengyawen 已提交
139

L
liu-binjun 已提交
140
on(type: 'cachedGnssLocationsReporting', request: CachedGnssLocationsRequest, callback: Callback&lt;Array&lt;Location&gt;&gt;): void;
Z
zengyawen 已提交
141 142 143

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

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

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

L
liu-binjun 已提交
148 149
**参数**

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

L
liu-binjun 已提交
156

L
liu-binjun 已提交
157
**示例**
Z
zengyawen 已提交
158
  
L
liu-binjun 已提交
159 160
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
161
  var cachedLocationsCb = (locations) => {
L
liu-binjun 已提交
162
      console.log('cachedGnssLocationsReporting: locations: ' + JSON.stringify(locations));
Z
zengyawen 已提交
163 164 165 166 167 168
  }
  var requestInfo = {'reportingPeriodSec': 10, 'wakeUpCacheQueueFull': true};
  geolocation.on('cachedGnssLocationsReporting', requestInfo, cachedLocationsCb);
  ```


L
liu-binjun 已提交
169
## geolocation.off('cachedGnssLocationsReporting')<sup>8+</sup>
Z
zengyawen 已提交
170

L
liu-binjun 已提交
171
off(type: 'cachedGnssLocationsReporting', callback?: Callback&lt;Array&lt;Location&gt;&gt;): void;
Z
zengyawen 已提交
172 173 174

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

L
liu-binjun 已提交
175 176 177 178
**需要权限**:ohos.permission.LOCATION

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

L
liu-binjun 已提交
179 180
**参数**

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

L
liu-binjun 已提交
186

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


L
liu-binjun 已提交
200
## geolocation.on('gnssStatusChange')<sup>8+</sup>
Z
zengyawen 已提交
201

L
liu-binjun 已提交
202
on(type: 'gnssStatusChange', callback: Callback&lt;SatelliteStatusInfo&gt;): void;
Z
zengyawen 已提交
203 204 205

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

L
liu-binjun 已提交
206 207 208 209
**需要权限**:ohos.permission.LOCATION

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

L
liu-binjun 已提交
210 211
**参数**

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

L
liu-binjun 已提交
217

L
liu-binjun 已提交
218
**示例**
Z
zengyawen 已提交
219
  
L
liu-binjun 已提交
220 221
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
222
  var gnssStatusCb = (satelliteStatusInfo) => {
L
liu-binjun 已提交
223
      console.log('gnssStatusChange: ' + JSON.stringify(satelliteStatusInfo));
Z
zengyawen 已提交
224 225 226 227 228
  }
  geolocation.on('gnssStatusChange', gnssStatusCb);
  ```


L
liu-binjun 已提交
229
## geolocation.off('gnssStatusChange')<sup>8+</sup>
Z
zengyawen 已提交
230

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

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

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

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

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

241
  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
242
  | -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
243
  | type | string | 是 | 设置事件类型。type为“gnssStatusChange”,表示订阅GNSS卫星状态信息上报。 |
244
  | callback | Callback&lt;[SatelliteStatusInfo](#satellitestatusinfo)&gt; | 否 | 需要取消订阅的回调函数。若无此参数,则取消当前类型的所有订阅。 |
Z
zengyawen 已提交
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 257
  }
  geolocation.on('gnssStatusChange', gnssStatusCb);
  geolocation.off('gnssStatusChange', gnssStatusCb);
  ```


L
liu-binjun 已提交
258
## geolocation.on('nmeaMessageChange')<sup>8+</sup>
Z
zengyawen 已提交
259

L
liu-binjun 已提交
260
on(type: 'nmeaMessageChange', callback: Callback&lt;string&gt;): void;
Z
zengyawen 已提交
261 262 263

订阅GNSS NMEA信息上报事件。

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

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

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

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

L
liu-binjun 已提交
275

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


L
liu-binjun 已提交
287
## geolocation.off('nmeaMessageChange')<sup>8+</sup>
Z
zengyawen 已提交
288

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

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

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

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

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

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

L
liu-binjun 已提交
304

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


L
liu-binjun 已提交
317
## geolocation.on('fenceStatusChange')<sup>8+</sup>
Z
zengyawen 已提交
318

L
liu-binjun 已提交
319
on(type: 'fenceStatusChange', request: GeofenceRequest, want: WantAgent): void;
Z
zengyawen 已提交
320 321 322

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

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

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

L
liu-binjun 已提交
327 328
**参数**

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

L
liu-binjun 已提交
335

L
liu-binjun 已提交
336
**示例**
Z
zengyawen 已提交
337
  
L
liu-binjun 已提交
338
  ```ts
L
liu-binjun 已提交
339 340 341 342
  import geolocation from '@ohos.geolocation';
  import wantAgent from '@ohos.wantAgent';
  
  let wantAgentInfo = {
Z
zengyawen 已提交
343 344
      wants: [
          {
L
liu-binjun 已提交
345
              bundleName: "com.example.myapplication",
L
liu-binjun 已提交
346
              abilityName: "com.example.myapplication.MainAbility",
Z
zengyawen 已提交
347 348 349
              action: "action1",
          }
      ],
L
liu-binjun 已提交
350
      operationType: wantAgent.OperationType.START_ABILITY,
Z
zengyawen 已提交
351
      requestCode: 0,
L
liu-binjun 已提交
352
      wantAgentFlags: [wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG],
L
liu-binjun 已提交
353 354 355 356 357 358
  };
  
  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 已提交
359 360 361
  ```


L
liu-binjun 已提交
362
## geolocation.off('fenceStatusChange')<sup>8+</sup>
Z
zengyawen 已提交
363

L
liu-binjun 已提交
364
off(type: 'fenceStatusChange', request: GeofenceRequest, want: WantAgent): void;
Z
zengyawen 已提交
365 366 367

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

L
liu-binjun 已提交
368 369 370 371
**需要权限**:ohos.permission.LOCATION

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

L
liu-binjun 已提交
372 373
**参数**

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

L
liu-binjun 已提交
380
**示例**
Z
zengyawen 已提交
381
  
L
liu-binjun 已提交
382
  ```ts
L
liu-binjun 已提交
383 384 385 386
  import geolocation from '@ohos.geolocation';
  import wantAgent from '@ohos.wantAgent';
  
  let wantAgentInfo = {
Z
zengyawen 已提交
387 388
      wants: [
          {
L
liu-binjun 已提交
389
              bundleName: "com.example.myapplication",
L
liu-binjun 已提交
390
              abilityName: "com.example.myapplication.MainAbility",
Z
zengyawen 已提交
391 392 393
              action: "action1",
          }
      ],
L
liu-binjun 已提交
394
      operationType: wantAgent.OperationType.START_ABILITY,
Z
zengyawen 已提交
395
      requestCode: 0,
L
liu-binjun 已提交
396 397 398 399 400 401 402 403 404 405 406
      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);
  });
  ```


Z
zengyawen 已提交
407 408
## geolocation.getCurrentLocation

L
liu-binjun 已提交
409
getCurrentLocation(request: CurrentLocationRequest, callback: AsyncCallback&lt;Location&gt;): void
Z
zengyawen 已提交
410 411 412 413


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

L
liu-binjun 已提交
414 415 416
**需要权限**:ohos.permission.LOCATION

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

L
liu-binjun 已提交
418 419
**参数**

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

L
liu-binjun 已提交
425
**示例**
Z
zengyawen 已提交
426
  
L
liu-binjun 已提交
427 428
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
429 430
  var requestInfo = {'priority': 0x203, 'scenario': 0x300,'maxAccuracy': 0};
  var locationChange = (err, location) => {
L
liu-binjun 已提交
431 432 433 434 435 436
      if (err) {
          console.log('locationChanger: err=' + JSON.stringify(err));
      }
      if (location) {
          console.log('locationChanger: location=' + JSON.stringify(location));
      }
Z
zengyawen 已提交
437 438 439 440 441 442 443 444
  };
  geolocation.getCurrentLocation(requestInfo, locationChange);
  geolocation.getCurrentLocation(locationChange);
  ```


## geolocation.getCurrentLocation

L
liu-binjun 已提交
445
getCurrentLocation(request?: CurrentLocationRequest): Promise&lt;Location&gt;
Z
zengyawen 已提交
446 447 448 449


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

L
liu-binjun 已提交
450 451 452
**需要权限**:ohos.permission.LOCATION

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

L
liu-binjun 已提交
454 455
**参数**

456
  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
457
  | -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
458
  | request | [CurrentLocationRequest](#currentlocationrequest) | 否 | 设置位置请求参数。 |
Z
zengyawen 已提交
459

L
liu-binjun 已提交
460 461
**返回值**

462
  | 参数名 | 说明 |
Z
zengyawen 已提交
463
  | -------- | -------- |
Z
zengyawen 已提交
464
  | Promise&lt;[Location](#location)&gt; | 返回位置信息。 |
Z
zengyawen 已提交
465

L
liu-binjun 已提交
466

L
liu-binjun 已提交
467
**示例**
Z
zengyawen 已提交
468
  
L
liu-binjun 已提交
469 470
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
471
  var requestInfo = {'priority': 0x203, 'scenario': 0x300,'maxAccuracy': 0};
L
liu-binjun 已提交
472
  geolocation.getCurrentLocation(requestInfo).then((result) => {
Z
zengyawen 已提交
473 474 475 476 477 478 479
      console.log('current location: ' + JSON.stringify(result));
  });
  ```


## geolocation.getLastLocation

L
liu-binjun 已提交
480
getLastLocation(callback: AsyncCallback&lt;Location&gt;): void
Z
zengyawen 已提交
481 482 483

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

L
liu-binjun 已提交
484 485 486 487
**需要权限**:ohos.permission.LOCATION

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

L
liu-binjun 已提交
488 489
**参数**

490
  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
491
  | -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
492
  | callback | AsyncCallback&lt;[Location](#location)&gt; | 是 | 用来接收上次位置的回调。 |
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
  geolocation.getLastLocation((err, data) => {
L
liu-binjun 已提交
500 501 502 503 504 505
      if (err) {
          console.log('getLastLocation: err=' + JSON.stringify(err));
      }
      if (data) {
          console.log('getLastLocation: data=' + JSON.stringify(data));
      }
Z
zengyawen 已提交
506 507 508 509 510 511
  });
  ```


## geolocation.getLastLocation

L
liu-binjun 已提交
512
getLastLocation(): Promise&lt;Location&gt;
Z
zengyawen 已提交
513 514 515

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

L
liu-binjun 已提交
516 517 518 519
**需要权限**:ohos.permission.LOCATION

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

L
liu-binjun 已提交
520 521
**返回值**

522
  | 参数名 | 说明 |
Z
zengyawen 已提交
523
  | -------- | -------- |
Z
zengyawen 已提交
524
  | Promise&lt;[Location](#location)&gt; | 返回上次位置信息。 |
Z
zengyawen 已提交
525

L
liu-binjun 已提交
526

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


## geolocation.isLocationEnabled

L
liu-binjun 已提交
539
isLocationEnabled(callback: AsyncCallback&lt;boolean&gt;): void
Z
zengyawen 已提交
540 541 542 543


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

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

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

L
liu-binjun 已提交
548 549
**参数**

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

L
liu-binjun 已提交
554
**示例**
Z
zengyawen 已提交
555
  
L
liu-binjun 已提交
556 557
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
558
  geolocation.isLocationEnabled((err, data) => {
L
liu-binjun 已提交
559 560 561 562 563 564
      if (err) {
          console.log('isLocationEnabled: err=' + JSON.stringify(err));
      }
      if (data) {
          console.log('isLocationEnabled: data=' + JSON.stringify(data));
      }
Z
zengyawen 已提交
565 566 567 568 569 570
  });
  ```


## geolocation.isLocationEnabled

L
liu-binjun 已提交
571
isLocationEnabled(): Promise&lt;boolean&gt;
Z
zengyawen 已提交
572 573 574

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

L
liu-binjun 已提交
575 576 577 578
**需要权限**:ohos.permission.LOCATION

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

L
liu-binjun 已提交
579 580
**返回值**

581
  | 参数名 | 说明 |
Z
zengyawen 已提交
582
  | -------- | -------- |
Z
zengyawen 已提交
583
  | Promise&lt;boolean&gt; | 返回位置服务是否可用的状态。 |
Z
zengyawen 已提交
584

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


## geolocation.requestEnableLocation

L
liu-binjun 已提交
597
requestEnableLocation(callback: AsyncCallback&lt;boolean&gt;): void
Z
zengyawen 已提交
598 599 600 601


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

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

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

L
liu-binjun 已提交
606 607
**参数**

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

L
liu-binjun 已提交
612
**示例**
Z
zengyawen 已提交
613
  
L
liu-binjun 已提交
614 615
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
616
  geolocation.requestEnableLocation((err, data) => {
L
liu-binjun 已提交
617 618 619 620 621 622
      if (err) {
          console.log('requestEnableLocation: err=' + JSON.stringify(err));
      }
      if (data) {
          console.log('requestEnableLocation: data=' + JSON.stringify(data));
      }
Z
zengyawen 已提交
623 624 625 626 627 628
  });
  ```


## geolocation.requestEnableLocation

L
liu-binjun 已提交
629
requestEnableLocation(): Promise&lt;boolean&gt;
Z
zengyawen 已提交
630 631 632

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

L
liu-binjun 已提交
633 634 635 636
**需要权限**:ohos.permission.LOCATION

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

L
liu-binjun 已提交
637 638
**返回值**

639
  | 参数名 | 说明 |
Z
zengyawen 已提交
640
  | -------- | -------- |
Z
zengyawen 已提交
641
  | Promise&lt;boolean&gt; | 返回位置服务是否可用。 |
Z
zengyawen 已提交
642

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


L
liu-binjun 已提交
653 654
## geolocation.enableLocation

L
liu-binjun 已提交
655
enableLocation(callback: AsyncCallback&lt;boolean&gt;): void;
L
liu-binjun 已提交
656 657 658 659 660

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

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

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

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

L
liu-binjun 已提交
665 666
**参数**

667
  | 参数名 | 类型 | 必填 | 说明 |
L
liu-binjun 已提交
668 669 670
  | -------- | -------- | -------- | -------- |
  | callback | AsyncCallback&lt;boolean&gt; | 是 | 用来接收位置服务状态的回调。 |

L
liu-binjun 已提交
671
**示例**
L
liu-binjun 已提交
672
  
L
liu-binjun 已提交
673 674
  ```ts
  import geolocation from '@ohos.geolocation';
L
liu-binjun 已提交
675
  geolocation.enableLocation((err, data) => {
L
liu-binjun 已提交
676 677 678 679 680 681
      if (err) {
          console.log('enableLocation: err=' + JSON.stringify(err));
      }
      if (data) {
          console.log('enableLocation: data=' + JSON.stringify(data));
      }
L
liu-binjun 已提交
682 683 684 685 686 687
  });
  ```


## geolocation.enableLocation

L
liu-binjun 已提交
688
enableLocation(): Promise&lt;boolean&gt;
L
liu-binjun 已提交
689 690 691 692 693

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

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

L
liu-binjun 已提交
694
**需要权限**:ohos.permission.MANAGE_SECURE_SETTINGS
L
liu-binjun 已提交
695 696 697

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

L
liu-binjun 已提交
698 699
**返回值**

700
  | 参数名 | 说明 |
L
liu-binjun 已提交
701 702 703
  | -------- | -------- |
  | Promise&lt;boolean&gt; | 返回位置服务是否可用。 |

L
liu-binjun 已提交
704
**示例**
L
liu-binjun 已提交
705
  
L
liu-binjun 已提交
706 707
  ```ts
  import geolocation from '@ohos.geolocation';
L
liu-binjun 已提交
708
  geolocation.enableLocation().then((result) => {
L
liu-binjun 已提交
709
      console.log('promise, enableLocation: ' + JSON.stringify(result));
L
liu-binjun 已提交
710 711 712 713 714
  });
  ```

## geolocation.disableLocation

L
liu-binjun 已提交
715
disableLocation(callback: AsyncCallback&lt;boolean&gt;): void;
L
liu-binjun 已提交
716

717
关闭位置服务,使用callback回调异步返回结果。
L
liu-binjun 已提交
718 719 720

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

L
liu-binjun 已提交
721
**需要权限**:ohos.permission.MANAGE_SECURE_SETTINGS
L
liu-binjun 已提交
722 723 724

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

L
liu-binjun 已提交
725 726
**参数**

727
  | 参数名 | 类型 | 必填 | 说明 |
L
liu-binjun 已提交
728 729 730
  | -------- | -------- | -------- | -------- |
  | callback | AsyncCallback&lt;boolean&gt; | 是 | 用来接收位置服务状态的回调。 |

L
liu-binjun 已提交
731
**示例**
L
liu-binjun 已提交
732
  
L
liu-binjun 已提交
733 734
  ```ts
  import geolocation from '@ohos.geolocation';
L
liu-binjun 已提交
735
  geolocation.disableLocation((err, data) => {
L
liu-binjun 已提交
736 737 738 739 740 741
      if (err) {
          console.log('disableLocation: err=' + JSON.stringify(err));
      }
      if (data) {
          console.log('disableLocation: data=' + JSON.stringify(data));
      }
L
liu-binjun 已提交
742 743 744 745 746 747
  });
  ```


## geolocation.disableLocation

L
liu-binjun 已提交
748
disableLocation(): Promise&lt;boolean&gt;
L
liu-binjun 已提交
749

750
关闭位置服务,使用Promise方式异步返回结果。
L
liu-binjun 已提交
751 752 753

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

L
liu-binjun 已提交
754
**需要权限**:ohos.permission.MANAGE_SECURE_SETTINGS
L
liu-binjun 已提交
755 756 757

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

L
liu-binjun 已提交
758 759
**返回值**

760
  | 参数名 | 说明 |
L
liu-binjun 已提交
761 762 763
  | -------- | -------- |
  | Promise&lt;boolean&gt; | 返回位置服务是否可用。 |

L
liu-binjun 已提交
764
**示例**
L
liu-binjun 已提交
765
  
L
liu-binjun 已提交
766 767
  ```ts
  import geolocation from '@ohos.geolocation';
L
liu-binjun 已提交
768
  geolocation.disableLocation().then((result) => {
L
liu-binjun 已提交
769
      console.log('promise, disableLocation: ' + JSON.stringify(result));
L
liu-binjun 已提交
770 771 772
  });
  ```

Z
zengyawen 已提交
773 774
## geolocation.isGeoServiceAvailable

L
liu-binjun 已提交
775
isGeoServiceAvailable(callback: AsyncCallback&lt;boolean&gt;): void
Z
zengyawen 已提交
776 777 778

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

L
liu-binjun 已提交
779 780 781 782
**需要权限**:ohos.permission.LOCATION

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

L
liu-binjun 已提交
783 784
**参数**

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

L
liu-binjun 已提交
789
**示例**
Z
zengyawen 已提交
790
  
L
liu-binjun 已提交
791 792
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
793
  geolocation.isGeoServiceAvailable((err, data) => {
L
liu-binjun 已提交
794 795 796 797 798 799
      if (err) {
          console.log('isGeoServiceAvailable: err=' + JSON.stringify(err));
      }
      if (data) {
          console.log('isGeoServiceAvailable: data=' + JSON.stringify(data));
      }
Z
zengyawen 已提交
800 801 802 803 804 805
  });
  ```


## geolocation.isGeoServiceAvailable

L
liu-binjun 已提交
806
isGeoServiceAvailable(): Promise&lt;boolean&gt;
Z
zengyawen 已提交
807 808 809

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

L
liu-binjun 已提交
810 811 812 813
**需要权限**:ohos.permission.LOCATION

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

L
liu-binjun 已提交
814 815
**返回值**

816
  | 参数名 | 说明 |
Z
zengyawen 已提交
817
  | -------- | -------- |
Z
zengyawen 已提交
818
  | Promise&lt;boolean&gt; | 返回地理编码服务是否可用的状态。 |
Z
zengyawen 已提交
819

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


## geolocation.getAddressesFromLocation

L
liu-binjun 已提交
832
getAddressesFromLocation(request: ReverseGeoCodeRequest, callback: AsyncCallback&lt;Array&lt;GeoAddress&gt;&gt;): void
Z
zengyawen 已提交
833 834 835

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

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

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

L
liu-binjun 已提交
840 841
**参数**

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

L
liu-binjun 已提交
847
**示例**
Z
zengyawen 已提交
848
  
L
liu-binjun 已提交
849 850
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
851 852
  var reverseGeocodeRequest = {"latitude": 31.12, "longitude": 121.11, "maxItems": 1};
  geolocation.getAddressesFromLocation(reverseGeocodeRequest, (err, data) => {
L
liu-binjun 已提交
853 854 855 856 857 858
      if (err) {
          console.log('getAddressesFromLocation: err=' + JSON.stringify(err));
      }
      if (data) {
          console.log('getAddressesFromLocation: data=' + JSON.stringify(data));
      }
Z
zengyawen 已提交
859 860 861 862 863 864
  });
  ```


## geolocation.getAddressesFromLocation

L
liu-binjun 已提交
865
getAddressesFromLocation(request: ReverseGeoCodeRequest): Promise&lt;Array&lt;GeoAddress&gt;&gt;;
Z
zengyawen 已提交
866 867 868

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

L
liu-binjun 已提交
869 870 871 872
**需要权限**:ohos.permission.LOCATION

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

L
liu-binjun 已提交
873 874
**参数**

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

L
liu-binjun 已提交
879 880
**返回值**

881
  | 参数名 | 说明 |
Z
zengyawen 已提交
882
  | -------- | -------- |
Z
zengyawen 已提交
883
  | Promise&lt;Array&lt;[GeoAddress](#geoaddress)&gt;&gt; | 返回地理描述信息。 |
Z
zengyawen 已提交
884

L
liu-binjun 已提交
885
**示例**
Z
zengyawen 已提交
886
  
L
liu-binjun 已提交
887 888
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
889 890 891 892 893 894 895 896 897
  var reverseGeocodeRequest = {"latitude": 31.12, "longitude": 121.11, "maxItems": 1};
  geolocation.getAddressesFromLocation(reverseGeocodeRequest).then((data) => {
      console.log('getAddressesFromLocation: ' + JSON.stringify(data));
  });
  ```


## geolocation.getAddressesFromLocationName

L
liu-binjun 已提交
898
getAddressesFromLocationName(request: GeoCodeRequest, callback: AsyncCallback&lt;Array&lt;GeoAddress&gt;&gt;): void
Z
zengyawen 已提交
899 900 901

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

L
liu-binjun 已提交
902 903 904 905
**需要权限**:ohos.permission.LOCATION

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

L
liu-binjun 已提交
906 907
**参数**

908
  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
909
  | -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
910 911
  | request | [GeoCodeRequest](#geocoderequest) | 是 | 设置地理编码请求的相关参数。 |
  | callback | AsyncCallback&lt;Array&lt;[GeoAddress](#geoaddress)&gt;&gt; | 是 | 设置接收地理编码请求的回调参数。 |
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
  var geocodeRequest = {"description": "上海市浦东新区xx路xx号", "maxItems": 1};
  geolocation.getAddressesFromLocationName(geocodeRequest, (err, data) => {
L
liu-binjun 已提交
919 920 921 922 923 924
      if (err) {
          console.log('getAddressesFromLocationName: err=' + JSON.stringify(err));
      }
      if (data) {
          console.log('getAddressesFromLocationName: data=' + JSON.stringify(data));
      }
Z
zengyawen 已提交
925 926 927 928 929 930
  });
  ```


## geolocation.getAddressesFromLocationName

L
liu-binjun 已提交
931
getAddressesFromLocationName(request: GeoCodeRequest): Promise&lt;Array&lt;GeoAddress&gt;&gt;
Z
zengyawen 已提交
932 933 934

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

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

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

L
liu-binjun 已提交
939 940
**参数**

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

L
liu-binjun 已提交
945 946
**返回值**

947
  | 参数名 | 说明 |
Z
zengyawen 已提交
948
  | -------- | -------- |
Z
zengyawen 已提交
949
  | Promise&lt;Array&lt;[GeoAddress](#geoaddress)&gt;&gt; | 设置接收地理编码请求的回调参数。 |
Z
zengyawen 已提交
950

L
liu-binjun 已提交
951
**示例**
Z
zengyawen 已提交
952
  
L
liu-binjun 已提交
953 954
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
955 956 957 958 959 960 961
  var geocodeRequest = {"description": "上海市浦东新区xx路xx号", "maxItems": 1};
  geolocation.getAddressesFromLocationName(geocodeRequest).then((result) => {
      console.log('getAddressesFromLocationName: ' + JSON.stringify(result));
  });
  ```


L
liu-binjun 已提交
962
## geolocation.getCachedGnssLocationsSize<sup>8+</sup>
Z
zengyawen 已提交
963

L
liu-binjun 已提交
964
getCachedGnssLocationsSize(callback: AsyncCallback&lt;number&gt;): void;
Z
zengyawen 已提交
965 966 967

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

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

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

L
liu-binjun 已提交
972 973
**参数**

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

L
liu-binjun 已提交
978
**示例**
Z
zengyawen 已提交
979
  
L
liu-binjun 已提交
980 981
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
982
  geolocation.getCachedGnssLocationsSize((err, size) => {
L
liu-binjun 已提交
983 984 985 986 987 988
      if (err) {
          console.log('getCachedGnssLocationsSize: err=' + JSON.stringify(err));
      }
      if (size) {
          console.log('getCachedGnssLocationsSize: size=' + JSON.stringify(size));
      }
Z
zengyawen 已提交
989 990 991 992
  });
  ```


L
liu-binjun 已提交
993
## geolocation.getCachedGnssLocationsSize<sup>8+</sup>
Z
zengyawen 已提交
994

L
liu-binjun 已提交
995
getCachedGnssLocationsSize(): Promise&lt;number&gt;;
Z
zengyawen 已提交
996 997 998

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

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

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

L
liu-binjun 已提交
1003 1004
**返回值**

1005
  | 参数名 | 说明 |
Z
zengyawen 已提交
1006
  | -------- | -------- |
Z
zengyawen 已提交
1007
  | Promise&lt;number&gt; | 返回GNSS缓存位置的个数。 |
Z
zengyawen 已提交
1008

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


L
liu-binjun 已提交
1019
## geolocation.flushCachedGnssLocations<sup>8+</sup>
Z
zengyawen 已提交
1020

L
liu-binjun 已提交
1021
flushCachedGnssLocations(callback: AsyncCallback&lt;boolean&gt;): void;
Z
zengyawen 已提交
1022 1023 1024

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

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

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

L
liu-binjun 已提交
1029 1030
**参数**

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

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


L
liu-binjun 已提交
1050
## geolocation.flushCachedGnssLocations<sup>8+</sup>
Z
zengyawen 已提交
1051

L
liu-binjun 已提交
1052
flushCachedGnssLocations(): Promise&lt;boolean&gt;;
Z
zengyawen 已提交
1053 1054 1055

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

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

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

L
liu-binjun 已提交
1060 1061
**返回值**

1062
  | 参数名 | 说明 |
Z
zengyawen 已提交
1063
  | -------- | -------- |
Z
zengyawen 已提交
1064
  | Promise&lt;boolean&gt; | 清空所有GNSS缓存位置是否成功。 |
Z
zengyawen 已提交
1065

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


L
liu-binjun 已提交
1076
## geolocation.sendCommand<sup>8+</sup>
Z
zengyawen 已提交
1077

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

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

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

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

L
liu-binjun 已提交
1086 1087
**参数**

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

L
liu-binjun 已提交
1093
**示例**
Z
zengyawen 已提交
1094
  
L
liu-binjun 已提交
1095 1096
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
1097 1098
  var requestInfo = {'scenario': 0x301, 'command': "command_1"};
  geolocation.sendCommand(requestInfo, (err, result) => {
L
liu-binjun 已提交
1099 1100 1101 1102 1103 1104
      if (err) {
          console.log('sendCommand: err=' + JSON.stringify(err));
      }
      if (result) {
          console.log('sendCommand: result=' + JSON.stringify(result));
      }
Z
zengyawen 已提交
1105 1106 1107 1108
  });
  ```


L
liu-binjun 已提交
1109
## geolocation.sendCommand<sup>8+</sup>
Z
zengyawen 已提交
1110

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

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

L
liu-binjun 已提交
1115
**需要权限**:ohos.permission.LOCATION
L
liu-binjun 已提交
1116 1117 1118

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

L
liu-binjun 已提交
1119 1120
**参数**

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

L
liu-binjun 已提交
1125 1126
**返回值**

1127
  | 参数名 | 说明 |
Z
zengyawen 已提交
1128
  | -------- | -------- |
Z
zengyawen 已提交
1129
  | Promise&lt;boolean&gt; | 表示命令发送成功或失败。 |
Z
zengyawen 已提交
1130

L
liu-binjun 已提交
1131
**示例**
Z
zengyawen 已提交
1132
  
L
liu-binjun 已提交
1133 1134
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
1135 1136
  var requestInfo = {'scenario': 0x301, 'command': "command_1"};
  geolocation.sendCommand(requestInfo).then((result) => {
L
liu-binjun 已提交
1137
      console.log('promise, sendCommand: ' + JSON.stringify(result));
Z
zengyawen 已提交
1138 1139 1140 1141 1142
  });
  ```



L
liu-binjun 已提交
1143
## LocationRequestPriority
Z
zengyawen 已提交
1144

L
liu-binjun 已提交
1145
位置请求中位置信息优先级设置。
L
liu-binjun 已提交
1146

L
liu-binjun 已提交
1147
**需要权限**:ohos.permission.LOCATION
L
liu-binjun 已提交
1148 1149 1150

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

L
liu-binjun 已提交
1151 1152 1153 1154 1155 1156
| 名称 | 默认值 | 说明 |
| -------- | -------- | -------- |
| UNSET | 0x200 | 表示未设置优先级。 |
| ACCURACY | 0x201 | 表示精度优先。 |
| LOW_POWER | 0x202 | 表示低功耗优先。 |
| FIRST_FIX | 0x203 | 表示快速获取位置优先,如果应用希望快速拿到1个位置,可以将优先级设置为该字段。 |
L
liu-binjun 已提交
1157

Z
zengyawen 已提交
1158

L
liu-binjun 已提交
1159 1160 1161 1162 1163
## LocationRequestScenario

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

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

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

L
liu-binjun 已提交
1167 1168 1169 1170 1171 1172 1173 1174
| 名称 | 默认值 | 说明 |
| -------- | -------- | -------- |
| UNSET | 0x300 | 表示未设置场景信息。 |
| NAVIGATION | 0x301 | 表示导航场景。 |
| TRAJECTORY_TRACKING | 0x302 | 表示运动轨迹记录场景。 |
| CAR_HAILING | 0x303 | 表示打车场景。 |
| DAILY_LIFE_SERVICE | 0x304 | 表示日常服务使用场景。 |
| NO_POWER | 0x305 | 表示无功耗功场景,这种场景下不会主动触发定位,会在其他应用定位时,才给当前应用返回位置。 |
Z
zengyawen 已提交
1175 1176


L
liu-binjun 已提交
1177
## GeoLocationErrorCode
Z
zengyawen 已提交
1178

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

L
liu-binjun 已提交
1181
**需要权限**:ohos.permission.LOCATION
L
liu-binjun 已提交
1182 1183 1184

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

L
liu-binjun 已提交
1185 1186 1187 1188 1189 1190 1191 1192 1193
| 名称 | 默认值 | 说明 |
| -------- | -------- | -------- |
| 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 已提交
1194

Z
zengyawen 已提交
1195

L
liu-binjun 已提交
1196
## ReverseGeoCodeRequest
L
liu-binjun 已提交
1197

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

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

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

L
liu-binjun 已提交
1204 1205 1206 1207 1208 1209
| 名称 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| locale | string | 否 | 指定位置描述信息的语言,“zh”代表中文,“en”代表英文。 |
| latitude | number | 是 | 表示纬度信息,正值表示北纬,负值表示南纬。 |
| longitude | number | 是 | 表示经度信息,正值表示东经,负值表示西经。 |
| maxItems | number | 否 | 指定返回位置信息的最大个数。 |
Z
zengyawen 已提交
1210 1211


L
liu-binjun 已提交
1212
## GeoCodeRequest
Z
zengyawen 已提交
1213

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

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

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

L
liu-binjun 已提交
1220 1221 1222 1223 1224 1225 1226 1227 1228
| 名称 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| locale | string | 否 | 表示位置描述信息的语言,“zh”代表中文,“en”代表英文。 |
| description | number | 是 | 表示位置信息描述,如“上海市浦东新区xx路xx号”。 |
| maxItems | number | 否 | 表示返回位置信息的最大个数。 |
| minLatitude | number | 否 | 表示最小纬度信息,与下面三个参数一起,表示一个经纬度范围。 |
| minLongitude | number | 否 | 表示最小经度信息。 |
| maxLatitude | number | 否 | 表示最大纬度信息。 |
| maxLongitude | number | 否 | 表示最大经度信息。 |
L
liu-binjun 已提交
1229

Z
zengyawen 已提交
1230

L
liu-binjun 已提交
1231 1232 1233
## GeoAddress

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

L
liu-binjun 已提交
1235 1236 1237
**需要权限**:ohos.permission.LOCATION

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

L
liu-binjun 已提交
1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258
| 名称 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| 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 | 否 | 表示附加的描述信息数量。 |
Z
zengyawen 已提交
1259 1260


L
liu-binjun 已提交
1261
## LocationRequest
Z
zengyawen 已提交
1262

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

L
liu-binjun 已提交
1265
**需要权限**:ohos.permission.LOCATION
L
liu-binjun 已提交
1266 1267 1268

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

L
liu-binjun 已提交
1269 1270 1271 1272 1273 1274 1275
| 名称 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| priority | [LocationRequestPriority](#locationrequestpriority) | 否 | 表示优先级信息。 |
| scenario | [LocationRequestScenario](#locationrequestscenario) | 是 | 表示场景信息。 |
| timeInterval | number | 否 | 表示上报位置信息的时间间隔。 |
| distanceInterval | number | 否 | 表示上报位置信息的距离间隔。 |
| maxAccuracy | number | 否 | 表示精度信息。仅在精确位置功能场景下有效,模糊位置功能生效场景下该字段无意义。 |
L
liu-binjun 已提交
1276

Z
zengyawen 已提交
1277

L
liu-binjun 已提交
1278
## CurrentLocationRequest
L
liu-binjun 已提交
1279

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

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

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

L
liu-binjun 已提交
1286 1287 1288 1289 1290 1291
| 名称 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| priority | [LocationRequestPriority](#locationrequestpriority) | 否 | 表示优先级信息。 |
| scenario | [LocationRequestScenario](#locationrequestscenario) | 否 | 表示场景信息。 |
| maxAccuracy | number | 否 | 表示精度信息,单位是米。仅在精确位置功能场景下有效,模糊位置功能生效场景下该字段无意义。 |
| timeoutMs | number | 否 | 表示超时时间,单位是毫秒,最小为1000毫秒。 |
L
liu-binjun 已提交
1292 1293


L
liu-binjun 已提交
1294
## SatelliteStatusInfo<sup>8+</sup>
L
liu-binjun 已提交
1295

L
liu-binjun 已提交
1296
卫星状态信息。
L
liu-binjun 已提交
1297

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

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

L
liu-binjun 已提交
1302 1303 1304 1305 1306 1307 1308 1309
| 名称 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| 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 已提交
1310 1311


L
liu-binjun 已提交
1312
## CachedGnssLocationsRequest<sup>8+</sup>
L
liu-binjun 已提交
1313

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

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

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

L
liu-binjun 已提交
1320 1321 1322 1323
| 名称 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| reportingPeriodSec | number | 是 | 表示GNSS缓存位置上报的周期,单位是毫秒。 |
| wakeUpCacheQueueFull | boolean | 是 | true表示GNSS芯片底层缓存队列满之后会主动唤醒AP芯片,并把缓存位置上报给应用。<br/>false表示GNSS芯片底层缓存队列满之后不会主动唤醒AP芯片,会把缓存位置直接丢弃。 |
L
liu-binjun 已提交
1324 1325


L
liu-binjun 已提交
1326
## Geofence<sup>8+</sup>
L
liu-binjun 已提交
1327

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

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

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

Z
zengyawen 已提交
1334
| 名称 | 参数类型 | 必填 | 说明 |
Z
zengyawen 已提交
1335
| -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
1336 1337 1338 1339
| latitude | number | 是 | 表示纬度。 |
| longitude | number | 是 | 表示经度。 |
| radius | number | 是 | 表示圆形围栏的半径。 |
| expiration | number | 是 | 围栏存活的时间,单位是毫秒。 |
Z
zengyawen 已提交
1340 1341


L
liu-binjun 已提交
1342
## GeofenceRequest<sup>8+</sup>
Z
zengyawen 已提交
1343 1344 1345

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

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

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

Z
zengyawen 已提交
1350
| 名称 | 参数类型 | 必填 | 说明 |
Z
zengyawen 已提交
1351
| -------- | -------- | -------- | -------- |
L
liu-binjun 已提交
1352 1353 1354
| priority | [LocationRequestPriority](#locationrequestpriority) | 是 | 表示位置信息优先级。 |
| scenario | [LocationRequestScenario](#locationrequestscenario) | 是 | 表示定位场景。 |
| geofence | [Geofence](#geofence)| 是 | 表示围栏信息。 |
Z
zengyawen 已提交
1355 1356


L
liu-binjun 已提交
1357
## LocationPrivacyType<sup>8+</sup>
Z
zengyawen 已提交
1358 1359 1360

定位服务隐私协议类型。

L
liu-binjun 已提交
1361
**需要权限**:ohos.permission.LOCATION
L
liu-binjun 已提交
1362 1363 1364

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

Z
zengyawen 已提交
1365
| 名称 | 默认值 | 说明 |
Z
zengyawen 已提交
1366
| -------- | -------- | -------- |
Z
zengyawen 已提交
1367 1368 1369
| OTHERS | 0 | 其他场景。 |
| STARTUP | 1 | 开机向导场景下的隐私协议。 |
| CORE_LOCATION | 2 | 开启网络定位时弹出的隐私协议。 |
Z
zengyawen 已提交
1370 1371


L
liu-binjun 已提交
1372
## LocationCommand<sup>8+</sup>
Z
zengyawen 已提交
1373 1374 1375

扩展命令结构体。

L
liu-binjun 已提交
1376
**需要权限**:ohos.permission.LOCATION
L
liu-binjun 已提交
1377 1378 1379

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

Z
zengyawen 已提交
1380
| 名称 | 参数类型 | 必填 | 说明 |
Z
zengyawen 已提交
1381
| -------- | -------- | -------- | -------- |
L
liu-binjun 已提交
1382
| scenario | [LocationRequestScenario](#locationrequestscenario)  | 是 | 表示定位场景。 |
Z
zengyawen 已提交
1383
| command | string | 是 | 扩展命令字符串。 |
Z
zengyawen 已提交
1384 1385 1386 1387 1388 1389


## Location

位置信息类型。

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

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

Z
zengyawen 已提交
1394
| 名称 | 参数类型 | 必填 | 说明 |
Z
zengyawen 已提交
1395
| -------- | -------- | -------- | -------- |
L
liu-binjun 已提交
1396 1397 1398 1399 1400 1401 1402 1403 1404
| 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; | 否 | 附加信息。 |
L
liu-binjun 已提交
1405
| additionSize<sup>7+</sup> | number | 否 | 附加信息数量。 |