js-apis-geolocation.md 43.8 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
> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
Z
zengyawen 已提交
7 8 9 10


## 导入模块

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

## geolocation.on('locationChange')

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

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

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

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

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

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

L
liu-binjun 已提交
34

L
liu-binjun 已提交
35
**示例**
Z
zengyawen 已提交
36
  
L
liu-binjun 已提交
37 38
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
39 40 41 42 43 44 45 46 47 48
  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 已提交
49
off(type: 'locationChange', callback?: Callback<Location>): void
Z
zengyawen 已提交
50 51 52

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

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

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

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

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

L
liu-binjun 已提交
64

L
liu-binjun 已提交
65
**示例**
Z
zengyawen 已提交
66
  
L
liu-binjun 已提交
67 68
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
69 70 71 72 73 74 75 76 77 78 79
  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 已提交
80
on(type: 'locationServiceState', callback: Callback<boolean>): void
Z
zengyawen 已提交
81 82 83

订阅位置服务状态变化。

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

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

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

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

L
liu-binjun 已提交
95

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


## geolocation.off('locationServiceState')

L
liu-binjun 已提交
109
off(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

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

119
  | 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
120
  | -------- | -------- | -------- | -------- |
Z
zengyawen 已提交
121
  | type | string | 是 | 设置事件类型。type为“locationServiceState”,表示位置服务状态。 |
122
  | 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: state: ' + JSON.stringify(state));
Z
zengyawen 已提交
131 132 133 134 135 136
  }
  geolocation.on('locationServiceState', locationServiceState);
  geolocation.off('locationServiceState', locationServiceState);
  ```


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

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

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

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

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

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

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

L
liu-binjun 已提交
155

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


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

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

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

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

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

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

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

L
liu-binjun 已提交
185

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


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

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

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

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

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

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

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

L
liu-binjun 已提交
216

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


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

L
liu-binjun 已提交
230
off(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卫星状态信息上报。 |
243
  | callback | Callback&lt;[SatelliteStatusInfo](#satellitestatusinfo)&gt; | 否 | 需要取消订阅的回调函数。若无此参数,则取消当前类型的所有订阅。 |
Z
zengyawen 已提交
244

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


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

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

订阅GNSS NMEA信息上报事件。

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 272
  | type | string | 是 | 设置事件类型。type为“nmeaMessageChange”,表示订阅GNSS&nbsp;NMEA信息上报。 |
  | callback | Callback&lt;string&gt; | 是 | 接收GNSS&nbsp;NMEA信息上报。 |
Z
zengyawen 已提交
273

L
liu-binjun 已提交
274

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


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

L
liu-binjun 已提交
288
off(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
  | type | string | 是 | 设置事件类型。type为“nmeaMessageChange”,表示订阅GNSS&nbsp;NMEA信息上报。 |
301
  | callback | Callback&lt;string&gt; | 否 | 需要取消订阅的回调函数。若无此参数,则取消当前类型的所有订阅。 |
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 315
  }
  geolocation.on('nmeaMessageChange', nmeaCb);
  geolocation.off('nmeaMessageChange', nmeaCb);
  ```


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

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

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

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

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

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

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

L
liu-binjun 已提交
334

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


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

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

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

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

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

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

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

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

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


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

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

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

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

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

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


## geolocation.getCurrentLocation

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


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

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

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

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

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

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

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

L
liu-binjun 已提交
465

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


## geolocation.getLastLocation

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

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

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

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

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

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

L
liu-binjun 已提交
493

L
liu-binjun 已提交
494
**示例**
Z
zengyawen 已提交
495
  
L
liu-binjun 已提交
496 497
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
498
  geolocation.getLastLocation((err, data) => {
L
liu-binjun 已提交
499 500 501 502 503 504
      if (err) {
          console.log('getLastLocation: err=' + JSON.stringify(err));
      }
      if (data) {
          console.log('getLastLocation: data=' + JSON.stringify(data));
      }
Z
zengyawen 已提交
505 506 507 508 509 510
  });
  ```


## geolocation.getLastLocation

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

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

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

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

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

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

L
liu-binjun 已提交
525

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


## geolocation.isLocationEnabled

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


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

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

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

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

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

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


## geolocation.isLocationEnabled

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

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

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

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

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

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

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


## geolocation.requestEnableLocation

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


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

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

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

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

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

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


## geolocation.requestEnableLocation

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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


## geolocation.enableLocation

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

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

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

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

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

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

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

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

## geolocation.disableLocation

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

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

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

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

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

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

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

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


## geolocation.disableLocation

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


## geolocation.isGeoServiceAvailable

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

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

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

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

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

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

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


## geolocation.getAddressesFromLocation

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

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

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

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

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

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

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


## geolocation.getAddressesFromLocation

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

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

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

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

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

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

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

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

L
liu-binjun 已提交
884
**示例**
Z
zengyawen 已提交
885
  
L
liu-binjun 已提交
886 887
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
888 889 890 891 892 893 894 895 896
  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 已提交
897
getAddressesFromLocationName(request: GeoCodeRequest, callback: AsyncCallback&lt;Array&lt;GeoAddress&gt;&gt;): void
Z
zengyawen 已提交
898 899 900

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

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

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

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

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

L
liu-binjun 已提交
912
**示例**
Z
zengyawen 已提交
913
  
L
liu-binjun 已提交
914 915
  ```ts
  import geolocation from '@ohos.geolocation';
Z
zengyawen 已提交
916 917
  var geocodeRequest = {"description": "上海市浦东新区xx路xx号", "maxItems": 1};
  geolocation.getAddressesFromLocationName(geocodeRequest, (err, data) => {
L
liu-binjun 已提交
918 919 920 921 922 923
      if (err) {
          console.log('getAddressesFromLocationName: err=' + JSON.stringify(err));
      }
      if (data) {
          console.log('getAddressesFromLocationName: data=' + JSON.stringify(data));
      }
Z
zengyawen 已提交
924 925 926 927 928 929
  });
  ```


## geolocation.getAddressesFromLocationName

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

Z
zengyawen 已提交
1157

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

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

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

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

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


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

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

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

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

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

Z
zengyawen 已提交
1194

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

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

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

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

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


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

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

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

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

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

Z
zengyawen 已提交
1229

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

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

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

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

L
liu-binjun 已提交
1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257
| 名称 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| 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 已提交
1258 1259


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

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

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

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

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

Z
zengyawen 已提交
1276

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

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

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

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

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


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

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

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

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

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


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

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

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

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

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


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

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

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

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

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


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

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

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

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

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


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

定位服务隐私协议类型。

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

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

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


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

扩展命令结构体。

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

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

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


## Location

位置信息类型。

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

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

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