• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 位置服务
2
3
4> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
5> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
6
7
8## 导入模块
9
10
11```
12import geolocation from '@ohos.geolocation';
13```
14
15## geolocation.on('locationChange')
16
17on(type: 'locationChange', request: LocationRequest, callback: Callback<Location>) : void
18
19开启位置变化订阅,并发起定位请求。
20
21**需要权限**:ohos.permission.LOCATION
22
23**系统能力**:SystemCapability.Location.Location.Core
24
25- 参数:
26    | 参数名 | 类型 | 必填 | 说明 |
27  | -------- | -------- | -------- | -------- |
28  | type | string | 是 | 设置事件类型。type为“locationChange”,表示位置变化。 |
29  | request | LocationRequest | 是 | 设置位置请求参数。 |
30  | callback | Callback<[Location](#location)> | 是 | 接收位置变化状态变化监听。 |
31
32
33- 示例:
34
35  ```
36  var requestInfo = {'priority': 0x203, 'scenario': 0x300, 'timeInterval': 0, 'distanceInterval': 0, 'maxAccuracy': 0};
37  var locationChange = (location) => {
38      console.log('locationChanger: data: ' + JSON.stringify(location));
39  };
40  geolocation.on('locationChange', requestInfo, locationChange);
41  ```
42
43
44## geolocation.off('locationChange')
45
46off(type: 'locationChange', callback?: Callback<Location>) : void
47
48关闭位置变化订阅,并删除对应的定位请求。
49
50**需要权限**:ohos.permission.LOCATION
51
52**系统能力**:SystemCapability.Location.Location.Core
53
54- 参数:
55    | 参数名 | 类型 | 必填 | 说明 |
56  | -------- | -------- | -------- | -------- |
57  | type | string | 是 | 设置事件类型。type为“locationChange”,表示位置变化。 |
58  | callback | Callback<[Location](#location)> | 否 | 接收位置变化状态变化监听。 |
59
60
61- 示例:
62
63  ```
64  var requestInfo = {'priority': 0x203, 'scenario': 0x300, 'timeInterval': 0, 'distanceInterval': 0, 'maxAccuracy': 0};
65  var locationChange = (location) => {
66      console.log('locationChanger: data: ' + JSON.stringify(location));
67  };
68  geolocation.on('locationChange', requestInfo, locationChange);
69  geolocation.off('locationChange', locationChange);
70  ```
71
72
73## geolocation.on('locationServiceState')
74
75on(type: 'locationServiceState', callback: Callback<boolean>) : void
76
77订阅位置服务状态变化。
78
79**需要权限**:ohos.permission.LOCATION
80
81**系统能力**:SystemCapability.Location.Location.Core
82
83- 参数:
84    | 参数名 | 类型 | 必填 | 说明 |
85  | -------- | -------- | -------- | -------- |
86  | type | string | 是 | 设置事件类型。type为“locationServiceState”,表示位置服务状态。 |
87  | callback | Callback<boolean> | 是 | 接收位置服务状态变化监听。 |
88
89
90- 示例:
91
92  ```
93  var locationServiceState = (state) => {
94      console.log('locationServiceState: ' + state);
95  }
96  geolocation.on('locationServiceState', locationServiceState);
97  ```
98
99
100## geolocation.off('locationServiceState')
101
102off(type: 'locationServiceState', callback?: Callback<boolean>) : void;
103
104取消订阅位置服务状态变化。
105
106**需要权限**:ohos.permission.LOCATION
107
108**系统能力**:SystemCapability.Location.Location.Core
109
110- 参数:
111    | 参数名 | 类型 | 必填 | 说明 |
112  | -------- | -------- | -------- | -------- |
113  | type | string | 是 | 设置事件类型。type为“locationServiceState”,表示位置服务状态。 |
114  | callback | Callback<boolean> | 否 | 接收位置服务状态变化监听。 |
115
116
117- 示例:
118
119  ```
120  var locationServiceState = (state) => {
121      console.log('locationServiceState: state: ' + state);
122  }
123  geolocation.on('locationServiceState', locationServiceState);
124  geolocation.off('locationServiceState', locationServiceState);
125  ```
126
127
128## geolocation.on('cachedGnssLocationsReporting')<sup>8+</sup>
129
130on(type: 'cachedGnssLocationsReporting', request: CachedGnssLocationsRequest, callback: Callback&lt;Array&lt;Location&gt;&gt;) : void;
131
132订阅缓存GNSS定位结果上报事件。
133
134**需要权限**:ohos.permission.LOCATION
135
136**系统能力**:SystemCapability.Location.Location.Gnss
137
138- 参数:
139    | 参数名 | 类型 | 必填 | 说明 |
140  | -------- | -------- | -------- | -------- |
141  | type | string | 是 | 设置事件类型。type为“cachedGnssLocationsReporting”,表示GNSS缓存定位结果上报。 |
142  | request | CachedGnssLocationsRequest | 是 | GNSS缓存功能配置参数 |
143  | callback | Callback&lt;boolean&gt; | 是 | 接收GNSS缓存位置上报。 |
144
145
146- 示例:
147
148  ```
149  var cachedLocationsCb = (locations) => {
150      console.log('cachedGnssLocationsReporting: locations: ' + locations);
151  }
152  var requestInfo = {'reportingPeriodSec': 10, 'wakeUpCacheQueueFull': true};
153  geolocation.on('cachedGnssLocationsReporting', requestInfo, cachedLocationsCb);
154  ```
155
156
157## geolocation.off('cachedGnssLocationsReporting')<sup>8+</sup>
158
159off(type: 'cachedGnssLocationsReporting', callback?: Callback&lt;Array&lt;Location&gt;&gt;) : void;
160
161取消订阅缓存GNSS定位结果上报事件。
162
163**需要权限**:ohos.permission.LOCATION
164
165**系统能力**:SystemCapability.Location.Location.Gnss
166
167- 参数:
168    | 参数名 | 类型 | 必填 | 说明 |
169  | -------- | -------- | -------- | -------- |
170  | type | string | 是 | 设置事件类型。type为“cachedGnssLocationsReporting”,表示GNSS缓存定位结果上报。 |
171  | callback | Callback&lt;boolean&gt; | 否 | 接收GNSS缓存位置上报。 |
172
173
174- 示例:
175
176  ```
177  var cachedLocationsCb = (locations) => {
178      console.log('cachedGnssLocationsReporting: locations: ' + locations);
179  }
180  var requestInfo = {'reportingPeriodSec': 10, 'wakeUpCacheQueueFull': true};
181  geolocation.on('cachedGnssLocationsReporting', requestInfo, cachedLocationsCb);
182  geolocation.off('cachedGnssLocationsReporting');
183  ```
184
185
186## geolocation.on('gnssStatusChange')<sup>8+</sup>
187
188on(type: 'gnssStatusChange', callback: Callback&lt;SatelliteStatusInfo&gt;) : void;
189
190订阅GNSS卫星状态信息上报事件。
191
192**需要权限**:ohos.permission.LOCATION
193
194**系统能力**:SystemCapability.Location.Location.Gnss
195
196- 参数:
197    | 参数名 | 类型 | 必填 | 说明 |
198  | -------- | -------- | -------- | -------- |
199  | type | string | 是 | 设置事件类型。type为“gnssStatusChange”,表示订阅GNSS卫星状态信息上报。 |
200  | callback | Callback&lt;SatelliteStatusInfo&gt; | 是 | 接收GNSS卫星状态信息上报。 |
201
202
203- 示例:
204
205  ```
206  var gnssStatusCb = (satelliteStatusInfo) => {
207      console.log('gnssStatusChange: ' + satelliteStatusInfo);
208  }
209  geolocation.on('gnssStatusChange', gnssStatusCb);
210  ```
211
212
213## geolocation.off('gnssStatusChange')<sup>8+</sup>
214
215off(type: 'gnssStatusChange', callback?: Callback&lt;SatelliteStatusInfo&gt;) : void;
216
217取消订阅GNSS卫星状态信息上报事件。
218
219**需要权限**:ohos.permission.LOCATION
220
221**系统能力**:SystemCapability.Location.Location.Gnss
222
223- 参数:
224    | 参数名 | 类型 | 必填 | 说明 |
225  | -------- | -------- | -------- | -------- |
226  | type | string | 是 | 设置事件类型。type为“gnssStatusChange”,表示订阅GNSS卫星状态信息上报。 |
227  | callback | Callback&lt;SatelliteStatusInfo&gt; | 否 | 接收GNSS卫星状态信息上报。 |
228
229- 示例:
230
231  ```
232  var gnssStatusCb = (satelliteStatusInfo) => {
233      console.log('gnssStatusChange: ' + satelliteStatusInfo);
234  }
235  geolocation.on('gnssStatusChange', gnssStatusCb);
236  geolocation.off('gnssStatusChange', gnssStatusCb);
237  ```
238
239
240## geolocation.on('nmeaMessageChange')<sup>8+</sup>
241
242on(type: 'nmeaMessageChange', callback: Callback&lt;string&gt;) : void;
243
244订阅GNSS NMEA信息上报事件。
245
246**需要权限**:ohos.permission.LOCATION
247
248**系统能力**:SystemCapability.Location.Location.Gnss
249
250- 参数:
251    | 参数名 | 类型 | 必填 | 说明 |
252  | -------- | -------- | -------- | -------- |
253  | type | string | 是 | 设置事件类型。type为“nmeaMessageChange”,表示订阅GNSS&nbsp;NMEA信息上报。 |
254  | callback | Callback&lt;string&gt; | 是 | 接收GNSS&nbsp;NMEA信息上报。 |
255
256
257- 示例:
258
259  ```
260  var nmeaCb = (str) => {
261      console.log('nmeaMessageChange: ' + str);
262  }
263  geolocation.on('nmeaMessageChange', nmeaCb );
264  ```
265
266
267## geolocation.off('nmeaMessageChange')<sup>8+</sup>
268
269off(type: 'nmeaMessageChange', callback?: Callback&lt;string&gt;) : void;
270
271取消订阅GNSS NMEA信息上报事件。
272
273**需要权限**:ohos.permission.LOCATION
274
275**系统能力**:SystemCapability.Location.Location.Gnss
276
277- 参数:
278    | 参数名 | 类型 | 必填 | 说明 |
279  | -------- | -------- | -------- | -------- |
280  | type | string | 是 | 设置事件类型。type为“nmeaMessageChange”,表示订阅GNSS&nbsp;NMEA信息上报。 |
281  | callback | Callback&lt;string&gt; | 否 | 接收GNSS&nbsp;NMEA信息上报。 |
282
283
284- 示例:
285
286  ```
287  var nmeaCb = (str) => {
288      console.log('nmeaMessageChange: ' + str);
289  }
290  geolocation.on('nmeaMessageChange', nmeaCb);
291  geolocation.off('nmeaMessageChange', nmeaCb);
292  ```
293
294
295## geolocation.on('fenceStatusChange')<sup>8+</sup>
296
297on(type: 'fenceStatusChange', request: GeofenceRequest, want: WantAgent) : void;
298
299添加一个围栏,并订阅地理围栏事件。
300
301**需要权限**:ohos.permission.LOCATION
302
303**系统能力**:SystemCapability.Location.Location.Geofence
304
305- 参数:
306    | 参数名 | 类型 | 必填 | 说明 |
307  | -------- | -------- | -------- | -------- |
308  | type | string | 是 | 设置事件类型。type为“fenceStatusChange”,表示订阅围栏事件上报。 |
309  | request | GeofenceRequest | 是 | 围栏的配置参数。 |
310  | want | WantAgent | 是 | 用于接收地理围栏事件上报(进出围栏)。 |
311
312
313- 示例:
314
315  ```
316  import WantAgent from '@ohos.wantAgent';
317  import { OperationType, WantAgentFlags } from '@ohos.wantagent';
318  //wantAgent对象
319  var wantAgent;
320  //getWantAgent回调
321  function getWantAgentCallback(err, data) {
322  	console.info("==========================>getWantAgentCallback=======================>");
323      if (err.code == 0) {
324  	wantAgent = data;
325      } else {
326          console.info('----getWantAgent failed!----');
327      }
328  }
329  //WantAgentInfo对象
330  var wantAgentInfo = {
331      wants: [
332          {
333              deviceId: "deviceId",
334              bundleName: "com.neu.setResultOnAbilityResultTest1",
335              abilityName: "com.example.test.MainAbility",
336              action: "action1",
337              entities: ["entity1"],
338              type: "MIMETYPE",
339              uri: "key={true,true,false}",
340              parameters:
341              {
342                  mykey0: 2222,
343                  mykey1: [1, 2, 3],
344                  mykey2: "[1, 2, 3]",
345                  mykey3: "ssssssssssssssssssssssssss",
346                  mykey4: [false, true, false],
347                  mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
348                  mykey6: true,
349              }
350          }
351      ],
352      operationType: OperationType.START_ABILITIES,
353      requestCode: 0,
354      wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG]
355  }
356  WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
357  var requestInfo = {'priority': 0x201, 'scenario': 0x301, "geofence": {"latitude": 121, "longitude": 26, "radius": 100, "expiration": 10000}};
358  geolocation.on('fenceStatusChange', requestInfo, wantAgent);
359  ```
360
361
362## geolocation.off('fenceStatusChange')<sup>8+</sup>
363
364off(type: 'fenceStatusChange', request: GeofenceRequest, want: WantAgent) : void;
365
366删除一个围栏,并取消订阅该围栏事件。
367
368**需要权限**:ohos.permission.LOCATION
369
370**系统能力**:SystemCapability.Location.Location.Geofence
371
372- 参数:
373    | 参数名 | 类型 | 必填 | 说明 |
374  | -------- | -------- | -------- | -------- |
375  | type | string | 是 | 设置事件类型。type为“fenceStatusChange”,表示订阅围栏事件上报。 |
376  | request | GeofenceRequest | 是 | 围栏的配置参数。 |
377  | want | WantAgent | 是 | 用于接收地理围栏事件上报(进出围栏)。 |
378
379- 示例:
380
381  ```
382  import WantAgent from '@ohos.wantAgent';
383  import { OperationType, WantAgentFlags } from '@ohos.wantagent';
384  //wantAgent对象
385  var wantAgent;
386  //getWantAgent回调
387  function getWantAgentCallback(err, data) {
388  	console.info("==========================>getWantAgentCallback=======================>");
389      if (err.code == 0) {
390  	wantAgent = data;
391      } else {
392          console.info('----getWantAgent failed!----');
393      }
394  }
395  //WantAgentInfo对象
396  var wantAgentInfo = {
397      wants: [
398          {
399              deviceId: "deviceId",
400              bundleName: "com.neu.setResultOnAbilityResultTest1",
401              abilityName: "com.example.test.MainAbility",
402              action: "action1",
403              entities: ["entity1"],
404              type: "MIMETYPE",
405              uri: "key={true,true,false}",
406              parameters:
407              {
408                  mykey0: 2222,
409                  mykey1: [1, 2, 3],
410                  mykey2: "[1, 2, 3]",
411                  mykey3: "ssssssssssssssssssssssssss",
412                  mykey4: [false, true, false],
413                  mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
414                  mykey6: true,
415              }
416          }
417      ],
418      operationType: OperationType.START_ABILITIES,
419      requestCode: 0,
420      wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG]
421  }
422  WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
423  var requestInfo = {'priority': 0x201, 'scenario': 0x301, "geofence": {"latitude": 121, "longitude": 26, "radius": 100, "expiration": 10000}};
424  geolocation.on('fenceStatusChange', requestInfo, wantAgent);
425  geolocation.off('fenceStatusChange', requestInfo, wantAgent);
426  ```
427
428
429## geolocation.getCurrentLocation
430
431getCurrentLocation(request: CurrentLocationRequest, callback: AsyncCallback&lt;Location&gt;) : void
432
433
434获取当前位置,使用callback回调异步返回结果。
435
436**需要权限**:ohos.permission.LOCATION
437
438**系统能力**:SystemCapability.Location.Location.Core
439
440- 参数:
441    | 参数名 | 类型 | 必填 | 说明 |
442  | -------- | -------- | -------- | -------- |
443  | request | [CurrentLocationRequest](#currentlocationrequest) | 否 | 设置位置请求参数。 |
444  | callback | AsyncCallback&lt;[Location](#location)&gt; | 是 | 用来接收位置信息的回调。 |
445
446- 示例:
447
448  ```
449  var requestInfo = {'priority': 0x203, 'scenario': 0x300,'maxAccuracy': 0};
450  var locationChange = (err, location) => {
451      console.log('locationChanger: ' + err + 'data: ' + location);
452  };
453  geolocation.getCurrentLocation(requestInfo, locationChange);
454  geolocation.getCurrentLocation(locationChange);
455  ```
456
457
458## geolocation.getCurrentLocation
459
460getCurrentLocation(request?: CurrentLocationRequest) : Promise&lt;Location&gt;
461
462
463获取当前位置,使用Promise方式异步返回结果。
464
465**需要权限**:ohos.permission.LOCATION
466
467**系统能力**:SystemCapability.Location.Location.Core
468
469- 参数:
470    | 参数名 | 类型 | 必填 | 说明 |
471  | -------- | -------- | -------- | -------- |
472  | request | [CurrentLocationRequest](#currentlocationrequest) | 否 | 设置位置请求参数。 |
473
474- 返回值:
475    | 参数名 | 说明 |
476  | -------- | -------- |
477  | Promise&lt;[Location](#location)&gt; | 返回位置信息。 |
478
479
480- 示例:
481
482  ```
483  var requestInfo = {'priority': 0x203, 'scenario': 0x300,'maxAccuracy': 0};
484  geolocation.getCurrentLocation(requestInfo).then((result) => {
485      console.log('current location: ' + JSON.stringify(result));
486  });
487  ```
488
489
490## geolocation.getLastLocation
491
492getLastLocation(callback: AsyncCallback&lt;Location&gt;) : void
493
494获取上一次位置,使用callback回调异步返回结果。
495
496**需要权限**:ohos.permission.LOCATION
497
498**系统能力**:SystemCapability.Location.Location.Core
499
500- 参数:
501    | 参数名 | 类型 | 必填 | 说明 |
502  | -------- | -------- | -------- | -------- |
503  | callback | AsyncCallback&lt;[Location](#location)&gt; | 是 | 用来接收上次位置的回调。 |
504
505
506- 示例:
507
508  ```
509  geolocation.getLastLocation((err, data) => {
510      console.log('getLastLocation: ' + err + " data: " + JSON.stringify(data));
511  });
512  ```
513
514
515## geolocation.getLastLocation
516
517getLastLocation() : Promise&lt;Location&gt;
518
519获取上一次位置,使用Promise方式异步返回结果。
520
521**需要权限**:ohos.permission.LOCATION
522
523**系统能力**:SystemCapability.Location.Location.Core
524
525- 返回值:
526    | 参数名 | 说明 |
527  | -------- | -------- |
528  | Promise&lt;[Location](#location)&gt; | 返回上次位置信息。 |
529
530
531- 示例:
532
533  ```
534  geolocation.getLastLocation().then((result) => {
535      console.log('getLastLocation: result: ' + JSON.stringify(result));
536  });
537  ```
538
539
540## geolocation.isLocationEnabled
541
542isLocationEnabled(callback: AsyncCallback&lt;boolean&gt;) : void
543
544
545判断位置服务是否已经打开,使用callback回调异步返回结果。
546
547**需要权限**:ohos.permission.LOCATION
548
549**系统能力**:SystemCapability.Location.Location.Core
550
551- 参数:
552    | 参数名 | 类型 | 必填 | 说明 |
553  | -------- | -------- | -------- | -------- |
554  | callback | AsyncCallback&lt;boolean&gt; | 是 | 用来接收位置服务状态的回调。 |
555
556
557- 示例:
558
559  ```
560  geolocation.isLocationEnabled((err, data) => {
561      console.log('isLocationEnabled: ' + err + " data: " + data);
562  });
563  ```
564
565
566## geolocation.isLocationEnabled
567
568isLocationEnabled() : Promise&lt;boolean&gt;
569
570判断位置服务是否已经开启,使用Promise方式异步返回结果。
571
572**需要权限**:ohos.permission.LOCATION
573
574**系统能力**:SystemCapability.Location.Location.Core
575
576- 返回值:
577    | 参数名 | 说明 |
578  | -------- | -------- |
579  | Promise&lt;boolean&gt; | 返回位置服务是否可用的状态。 |
580
581- 示例:
582
583  ```
584  geolocation.isLocationEnabled().then((result) => {
585      console.log('promise, isLocationEnabled: ' + result);
586  });
587  ```
588
589
590## geolocation.requestEnableLocation
591
592requestEnableLocation(callback: AsyncCallback&lt;boolean&gt;) : void
593
594
595请求打开位置服务,使用callback回调异步返回结果。
596
597**需要权限**:ohos.permission.LOCATION
598
599**系统能力**:SystemCapability.Location.Location.Core
600
601- 参数:
602    | 参数名 | 类型 | 必填 | 说明 |
603  | -------- | -------- | -------- | -------- |
604  | callback | AsyncCallback&lt;boolean&gt; | 是 | 用来接收位置服务状态的回调。 |
605
606
607- 示例:
608
609  ```
610  geolocation.requestEnableLocation((err, data) => {
611      console.log('requestEnableLocation: ' + err + " data: " + data);
612  });
613  ```
614
615
616## geolocation.requestEnableLocation
617
618requestEnableLocation() : Promise&lt;boolean&gt;
619
620请求打开位置服务,使用Promise方式异步返回结果。
621
622**需要权限**:ohos.permission.LOCATION
623
624**系统能力**:SystemCapability.Location.Location.Core
625
626- 返回值:
627    | 参数名 | 说明 |
628  | -------- | -------- |
629  | Promise&lt;boolean&gt; | 返回位置服务是否可用。 |
630
631
632- 示例:
633
634  ```
635  geolocation.requestEnableLocation().then((result) => {
636      console.log('promise, requestEnableLocation: ' + result);
637  });
638  ```
639
640
641## geolocation.enableLocation
642
643enableLocation(callback: AsyncCallback&lt;boolean&gt;) : void;
644
645打开位置服务,使用callback回调异步返回结果。
646
647**系统API**:此接口为系统接口,三方应用不支持调用。
648
649**需要权限**:ohos.permission.LOCATION
650
651**系统能力**:SystemCapability.Location.Location.Core
652
653- 参数:
654    | 参数名 | 类型 | 必填 | 说明 |
655  | -------- | -------- | -------- | -------- |
656  | callback | AsyncCallback&lt;boolean&gt; | 是 | 用来接收位置服务状态的回调。 |
657
658
659- 示例:
660
661  ```
662  geolocation.enableLocation((err, data) => {
663      console.log('enableLocation: ' + err + " data: " + data);
664  });
665  ```
666
667
668## geolocation.enableLocation
669
670enableLocation() : Promise&lt;boolean&gt;
671
672打开位置服务,使用Promise方式异步返回结果。
673
674**系统API**:此接口为系统接口,三方应用不支持调用。
675
676**需要权限**:ohos.permission.LOCATION
677
678**系统能力**:SystemCapability.Location.Location.Core
679
680- 返回值:
681    | 参数名 | 说明 |
682  | -------- | -------- |
683  | Promise&lt;boolean&gt; | 返回位置服务是否可用。 |
684
685
686- 示例:
687
688  ```
689  geolocation.enableLocation().then((result) => {
690      console.log('promise, enableLocation: ' + result);
691  });
692  ```
693
694## geolocation.disableLocation
695
696disableLocation(callback: AsyncCallback&lt;boolean&gt;) : void;
697
698打开位置服务,使用callback回调异步返回结果。
699
700**系统API**:此接口为系统接口,三方应用不支持调用。
701
702**需要权限**:ohos.permission.LOCATION
703
704**系统能力**:SystemCapability.Location.Location.Core
705
706- 参数:
707    | 参数名 | 类型 | 必填 | 说明 |
708  | -------- | -------- | -------- | -------- |
709  | callback | AsyncCallback&lt;boolean&gt; | 是 | 用来接收位置服务状态的回调。 |
710
711
712- 示例:
713
714  ```
715  geolocation.disableLocation((err, data) => {
716      console.log('disableLocation: ' + err + " data: " + data);
717  });
718  ```
719
720
721## geolocation.disableLocation
722
723disableLocation() : Promise&lt;boolean&gt;
724
725打开位置服务,使用Promise方式异步返回结果。
726
727**系统API**:此接口为系统接口,三方应用不支持调用。
728
729**需要权限**:ohos.permission.LOCATION
730
731**系统能力**:SystemCapability.Location.Location.Core
732
733- 返回值:
734    | 参数名 | 说明 |
735  | -------- | -------- |
736  | Promise&lt;boolean&gt; | 返回位置服务是否可用。 |
737
738
739- 示例:
740
741  ```
742  geolocation.disableLocation().then((result) => {
743      console.log('promise, disableLocation: ' + result);
744  });
745  ```
746
747## geolocation.isGeoServiceAvailable
748
749isGeoServiceAvailable(callback: AsyncCallback&lt;boolean&gt;) : void
750
751判断(逆)地理编码服务状态,使用callback回调异步返回结果。
752
753**需要权限**:ohos.permission.LOCATION
754
755**系统能力**:SystemCapability.Location.Location.Geocoder
756
757- 参数:
758    | 参数名 | 类型 | 必填 | 说明 |
759  | -------- | -------- | -------- | -------- |
760  | callback | AsyncCallback&lt;boolean&gt; | 是 | 用来接收地理编码服务状态的回调。 |
761
762
763- 示例:
764
765  ```
766  geolocation.isGeoServiceAvailable((err, data) => {
767      console.log('isGeoServiceAvailable: ' + err + " data: " + data);
768  });
769  ```
770
771
772## geolocation.isGeoServiceAvailable
773
774isGeoServiceAvailable() : Promise&lt;boolean&gt;
775
776判断(逆)地理编码服务状态,使用Promise方式异步返回结果。
777
778**需要权限**:ohos.permission.LOCATION
779
780**系统能力**:SystemCapability.Location.Location.Geocoder
781
782- 返回值:
783    | 参数名 | 说明 |
784  | -------- | -------- |
785  | Promise&lt;boolean&gt; | 返回地理编码服务是否可用的状态。 |
786
787
788- 示例:
789
790  ```
791  geolocation.isGeoServiceAvailable().then((result) => {
792      console.log('promise, isGeoServiceAvailable: ' + result);
793  });
794  ```
795
796
797
798## geolocation.getAddressesFromLocation
799
800getAddressesFromLocation(request: ReverseGeoCodeRequest, callback: AsyncCallback&lt;Array&lt;GeoAddress&gt;&gt;) : void
801
802调用逆地理编码服务,将坐标转换为地理描述,使用callback回调异步返回结果。
803
804**需要权限**:ohos.permission.LOCATION
805
806**系统能力**:SystemCapability.Location.Location.Geocoder
807
808- 参数:
809    | 参数名 | 类型 | 必填 | 说明 |
810  | -------- | -------- | -------- | -------- |
811  | request | [ReverseGeoCodeRequest](#reversegeocoderequest) | 是 | 设置逆地理编码请求的相关参数。 |
812  | callback | AsyncCallback&lt;Array&lt;[GeoAddress](#geoaddress)&gt;&gt; | 是 | 设置接收逆地理编码请求的回调参数。 |
813
814- 示例:
815
816  ```
817  var reverseGeocodeRequest = {"latitude": 31.12, "longitude": 121.11, "maxItems": 1};
818  geolocation.getAddressesFromLocation(reverseGeocodeRequest, (err, data) => {
819      console.log('getAddressesFromLocation: ' + err + " data: " + JSON.stringify(data));
820  });
821  ```
822
823
824## geolocation.getAddressesFromLocation
825
826getAddressesFromLocation(request: ReverseGeoCodeRequest) : Promise&lt;Array&lt;GeoAddress&gt;&gt;;
827
828调用逆地理编码服务,将坐标转换为地理描述,使用Promise方式异步返回结果。
829
830**需要权限**:ohos.permission.LOCATION
831
832**系统能力**:SystemCapability.Location.Location.Geocoder
833
834- 参数:
835    | 参数名 | 类型 | 必填 | 说明 |
836  | -------- | -------- | -------- | -------- |
837  | request | [ReverseGeoCodeRequest](#reversegeocoderequest) | 是 | 设置逆地理编码请求的相关参数。 |
838
839- 返回值:
840    | 参数名 | 说明 |
841  | -------- | -------- |
842  | Promise&lt;Array&lt;[GeoAddress](#geoaddress)&gt;&gt; | 返回地理描述信息。 |
843
844- 示例:
845
846  ```
847  var reverseGeocodeRequest = {"latitude": 31.12, "longitude": 121.11, "maxItems": 1};
848  geolocation.getAddressesFromLocation(reverseGeocodeRequest).then((data) => {
849      console.log('getAddressesFromLocation: ' + JSON.stringify(data));
850  });
851  ```
852
853
854## geolocation.getAddressesFromLocationName
855
856getAddressesFromLocationName(request: GeoCodeRequest, callback: AsyncCallback&lt;Array&lt;GeoAddress&gt;&gt;) : void
857
858调用地理编码服务,将地理描述转换为具体坐标,使用callback回调异步返回结果。
859
860**需要权限**:ohos.permission.LOCATION
861
862**系统能力**:SystemCapability.Location.Location.Geocoder
863
864- 参数:
865    | 参数名 | 类型 | 必填 | 说明 |
866  | -------- | -------- | -------- | -------- |
867  | request | [GeoCodeRequest](#geocoderequest) | 是 | 设置地理编码请求的相关参数。 |
868  | callback | AsyncCallback&lt;Array&lt;[GeoAddress](#geoaddress)&gt;&gt; | 是 | 设置接收地理编码请求的回调参数。 |
869
870
871- 示例:
872
873  ```
874  var geocodeRequest = {"description": "上海市浦东新区xx路xx号", "maxItems": 1};
875  geolocation.getAddressesFromLocationName(geocodeRequest, (err, data) => {
876      console.log('getAddressesFromLocationName: ' + err + " data: " + JSON.stringify(data));
877  });
878  ```
879
880
881## geolocation.getAddressesFromLocationName
882
883getAddressesFromLocationName(request: GeoCodeRequest) : Promise&lt;Array&lt;GeoAddress&gt;&gt;
884
885调用地理编码服务,将地理描述转换为具体坐标,使用Promise方式异步返回结果。
886
887**需要权限**:ohos.permission.LOCATION
888
889**系统能力**:SystemCapability.Location.Location.Geocoder
890
891- 参数:
892    | 参数名 | 类型 | 必填 | 说明 |
893  | -------- | -------- | -------- | -------- |
894  | request | [GeoCodeRequest](#geocoderequest) | 是 | 设置地理编码请求的相关参数。 |
895
896- 返回值:
897    | 参数名 | 说明 |
898  | -------- | -------- |
899  | Promise&lt;Array&lt;[GeoAddress](#geoaddress)&gt;&gt; | 设置接收地理编码请求的回调参数。 |
900
901- 示例:
902
903  ```
904  var geocodeRequest = {"description": "上海市浦东新区xx路xx号", "maxItems": 1};
905  geolocation.getAddressesFromLocationName(geocodeRequest).then((result) => {
906      console.log('getAddressesFromLocationName: ' + JSON.stringify(result));
907  });
908  ```
909
910
911
912## geolocation.getCachedGnssLocationsSize<sup>8+</sup>
913
914getCachedGnssLocationsSize(callback: AsyncCallback&lt;number&gt;) : void;
915
916获取GNSS芯片缓存位置的个数。
917
918**需要权限**:ohos.permission.LOCATION
919
920**系统能力**:SystemCapability.Location.Location.Gnss
921
922- 参数:
923    | 参数名 | 类型 | 必填 | 说明 |
924  | -------- | -------- | -------- | -------- |
925  | callback | AsyncCallback&lt;number&gt; | 是 | 用来接收GNSS芯片缓存位置个数的回调。 |
926
927- 示例:
928
929  ```
930  geolocation.getCachedGnssLocationsSize((err, size) => {
931      console.log('getCachedGnssLocationsSize: err:' + err + " size: " + size);
932  });
933  ```
934
935
936## geolocation.getCachedGnssLocationsSize<sup>8+</sup>
937
938getCachedGnssLocationsSize() : Promise&lt;number&gt;;
939
940获取GNSS芯片缓存位置的个数。
941
942**需要权限**:ohos.permission.LOCATION
943
944**系统能力**:SystemCapability.Location.Location.Gnss
945
946- 返回值:
947    | 参数名 | 说明 |
948  | -------- | -------- |
949  | Promise&lt;number&gt; | 返回GNSS缓存位置的个数。 |
950
951- 示例:
952
953  ```
954  geolocation.getCachedGnssLocationsSize().then((result) => {
955      console.log('promise, getCachedGnssLocationsSize: ' + result);
956  });
957  ```
958
959
960## geolocation.flushCachedGnssLocations<sup>8+</sup>
961
962flushCachedGnssLocations(callback: AsyncCallback&lt;boolean&gt;) : void;
963
964读取并清空GNSS芯片所有缓存位置。
965
966**需要权限**:ohos.permission.LOCATION
967
968**系统能力**:SystemCapability.Location.Location.Gnss
969
970- 参数:
971    | 参数名 | 类型 | 必填 | 说明 |
972  | -------- | -------- | -------- | -------- |
973  | callback | AsyncCallback&lt;boolean&gt; | 是 | 用来接收清空GNSS芯片缓存位置操作的结果。 |
974
975- 示例:
976
977  ```
978  geolocation.flushCachedGnssLocations((err, result) => {
979      console.log('flushCachedGnssLocations: err:' + err + " result: " + result);
980  });
981  ```
982
983
984## geolocation.flushCachedGnssLocations<sup>8+</sup>
985
986flushCachedGnssLocations() : Promise&lt;boolean&gt;;
987
988读取并清空GNSS芯片所有缓存位置。
989
990**需要权限**:ohos.permission.LOCATION
991
992**系统能力**:SystemCapability.Location.Location.Gnss
993
994- 返回值:
995    | 参数名 | 说明 |
996  | -------- | -------- |
997  | Promise&lt;boolean&gt; | 清空所有GNSS缓存位置是否成功。 |
998
999- 示例:
1000
1001  ```
1002  geolocation.flushCachedGnssLocations().then((result) => {
1003      console.log('promise, flushCachedGnssLocations: ' + result);
1004  });
1005  ```
1006
1007
1008## geolocation.sendCommand<sup>8+</sup>
1009
1010sendCommand(command: LocationCommand, callback: AsyncCallback&lt;boolean&gt;) : void;
1011
1012给位置服务子系统的各个部件发送扩展命令。只有系统应用才能调用。
1013
1014**需要权限**:ohos.permission.LOCATION
1015
1016**系统能力**:SystemCapability.Location.Location.Core
1017
1018- 参数:
1019    | 参数名 | 类型 | 必填 | 说明 |
1020  | -------- | -------- | -------- | -------- |
1021  | command | LocationCommand | 是 | 指定目标场景,和将要发送的命令(字符串)。 |
1022  | callback | AsyncCallback&lt;boolean&gt; | 是 | 用来接收命令发送的结果。 |
1023
1024- 示例:
1025
1026  ```
1027  var requestInfo = {'scenario': 0x301, 'command': "command_1"};
1028  geolocation.sendCommand(requestInfo, (err, result) => {
1029      console.log('sendCommand: err:' + err + " result: " + result);
1030  });
1031  ```
1032
1033
1034## geolocation.sendCommand<sup>8+</sup>
1035
1036sendCommand(command: LocationCommand) : Promise&lt;boolean&gt;;
1037
1038给位置服务子系统的各个部件发送扩展命令。只有系统应用才能调用。
1039
1040**需要权限**:ohos.permission.LOCATION
1041
1042**系统能力**:SystemCapability.Location.Location.Core
1043
1044- 参数:
1045    | 参数名 | 类型 | 必填 | 说明 |
1046  | -------- | -------- | -------- | -------- |
1047  | command | LocationCommand | 是 | 指定目标场景,和将要发送的命令(字符串)。 |
1048
1049- 返回值:
1050    | 参数名 | 说明 |
1051  | -------- | -------- |
1052  | Promise&lt;boolean&gt; | 表示命令发送成功或失败。 |
1053
1054- 示例:
1055
1056  ```
1057  var requestInfo = {'scenario': 0x301, 'command': "command_1"};
1058  geolocation.sendCommand(requestInfo).then((result) => {
1059      console.log('promise, sendCommand: ' + result);
1060  });
1061  ```
1062
1063
1064## geolocation.isLocationPrivacyConfirmed<sup>8+</sup>
1065
1066isLocationPrivacyConfirmed(type : LocationPrivacyType, callback: AsyncCallback&lt;boolean&gt;) : void;
1067
1068查询用户是否同意定位服务隐私申明,是否同意启用定位服务。只有系统应用才能调用。
1069
1070**系统API**:此接口为系统接口,三方应用不支持调用。
1071
1072**需要权限**:ohos.permission.LOCATION
1073
1074**系统能力**:SystemCapability.Location.Location.Core
1075
1076- 参数:
1077    | 参数名 | 类型 | 必填 | 说明 |
1078  | -------- | -------- | -------- | -------- |
1079  | type | LocationPrivacyType | 是 | 指定隐私申明场景,例如开机向导中的隐私申明、开启网络定位功能时弹出的隐私申明等。 |
1080  | callback | AsyncCallback&lt;boolean&gt; | 是 | 表示用户是否同意定位服务隐私申明。 |
1081
1082- 示例:
1083
1084  ```
1085  geolocation.isLocationPrivacyConfirmed(1, (err, result) => {
1086      console.log('isLocationPrivacyConfirmed: err:' + err + " result: " + result);
1087  });
1088  ```
1089
1090
1091## geolocation.isLocationPrivacyConfirmed<sup>8+</sup>
1092
1093isLocationPrivacyConfirmed(type : LocationPrivacyType,) : Promise&lt;boolean&gt;;
1094
1095查询用户是否同意定位服务隐私申明,是否同意启用定位服务。只有系统应用才能调用。
1096
1097**系统API**:此接口为系统接口,三方应用不支持调用。
1098
1099**需要权限**:ohos.permission.LOCATION
1100
1101**系统能力**:SystemCapability.Location.Location.Core
1102
1103- 参数:
1104    | 参数名 | 类型 | 必填 | 说明 |
1105  | -------- | -------- | -------- | -------- |
1106  | type | LocationPrivacyType | 是 | 指定隐私申明场景,例如开机向导中的隐私申明、开启网络定位功能时弹出的隐私申明等。 |
1107
1108- 返回值:
1109    | 参数名 | 说明 |
1110  | -------- | -------- |
1111  | Promise&lt;boolean&gt; | 表示用户是否同意定位服务隐私申明。 |
1112
1113- 示例:
1114
1115  ```
1116  geolocation.isLocationPrivacyConfirmed(1).then((result) => {
1117      console.log('promise, isLocationPrivacyConfirmed: ' + result);
1118  });
1119  ```
1120
1121
1122## geolocation.setLocationPrivacyConfirmStatus<sup>8+</sup>
1123
1124setLocationPrivacyConfirmStatus(type : LocationPrivacyType, isConfirmed: boolean, callback: AsyncCallback&lt;boolean&gt;) : void;
1125
1126设置用户勾选定位服务隐私申明的状态,记录用户是否同意启用定位服务。只有系统应用才能调用。
1127
1128**系统API**:此接口为系统接口,三方应用不支持调用。
1129
1130**需要权限**:ohos.permission.LOCATION
1131
1132**系统能力**:SystemCapability.Location.Location.Core
1133
1134- 参数:
1135    | 参数名 | 类型 | 必填 | 说明 |
1136  | -------- | -------- | -------- | -------- |
1137  | type | LocationPrivacyType | 是 | 指定隐私申明场景,例如开机向导中的隐私申明、开启网络定位功能时弹出的隐私申明等。 |
1138  | isConfirmed | boolean | 是 | 表示用户是否同意定位服务隐私申明。 |
1139  | callback | AsyncCallback&lt;boolean&gt; | 是 | 表示操作是否成功。 |
1140
1141- 示例:
1142
1143  ```
1144  geolocation.setLocationPrivacyConfirmStatus(1, true, (err, result) => {
1145      console.log('isLocationPrivacyConfirmed: err:' + err + " result: " + result);
1146  });
1147  ```
1148
1149
1150## geolocation.setLocationPrivacyConfirmStatus<sup>8+</sup>
1151
1152setLocationPrivacyConfirmStatus(type : LocationPrivacyType, isConfirmed : boolean) : Promise&lt;boolean&gt;;
1153
1154设置用户勾选定位服务隐私申明的状态,记录用户是否同意启用定位服务。只有系统应用才能调用。
1155
1156**系统API**:此接口为系统接口,三方应用不支持调用。
1157
1158**需要权限**:ohos.permission.LOCATION
1159
1160**系统能力**:SystemCapability.Location.Location.Core
1161
1162- 参数:
1163    | 参数名 | 类型 | 必填 | 说明 |
1164  | -------- | -------- | -------- | -------- |
1165  | type | LocationPrivacyType | 是 | 指定隐私申明场景,例如开机向导中的隐私申明、开启网络定位功能时弹出的隐私申明等。 |
1166  | isConfirmed | boolean | 是 | 表示用户是否同意定位服务隐私申明。 |
1167
1168- 返回值:
1169    | 参数名 | 说明 |
1170  | -------- | -------- |
1171  | Promise&lt;boolean&gt; | 表示操作是否成功。 |
1172
1173- 示例:
1174
1175  ```
1176  geolocation.setLocationPrivacyConfirmStatus(1, true).then((result) => {
1177      console.log('promise, setLocationPrivacyConfirmStatus: ' + result);
1178  });
1179  ```
1180
1181
1182
1183## LocationRequestPriority
1184
1185位置请求中位置信息优先级设置。
1186
1187**需要权限**:ohos.permission.LOCATION
1188
1189**系统能力**:SystemCapability.Location.Location.Core
1190
1191| 名称 | 默认值 | 说明 |
1192| -------- | -------- | -------- |
1193| UNSET | 0x200 | 表示未设置优先级。 |
1194| ACCURACY | 0x201 | 表示精度优先。 |
1195| LOW_POWER | 0x202 | 表示低功耗优先。 |
1196| FIRST_FIX | 0x203 | 表示快速获取位置优先,如果应用希望快速拿到1个位置,可以将优先级设置为该字段。 |
1197
1198
1199## LocationRequestScenario
1200
1201  位置请求中定位场景设置。
1202
1203**需要权限**:ohos.permission.LOCATION
1204
1205**系统能力**:SystemCapability.Location.Location.Core
1206
1207| 名称 | 默认值 | 说明 |
1208| -------- | -------- | -------- |
1209| UNSET | 0x300 | 表示未设置场景信息。 |
1210| NAVIGATION | 0x301 | 表示导航场景。 |
1211| TRAJECTORY_TRACKING | 0x302 | 表示运动轨迹记录场景。 |
1212| CAR_HAILING | 0x303 | 表示打车场景。 |
1213| DAILY_LIFE_SERVICE | 0x304 | 表示日常服务使用场景。 |
1214| NO_POWER | 0x305 | 表示无功耗功场景,这种场景下不会主动触发定位,会在其他应用定位时,才给当前应用返回位置。 |
1215
1216
1217## GeoLocationErrorCode
1218
1219位置服务中的错误码信息。
1220
1221**需要权限**:ohos.permission.LOCATION
1222
1223**系统能力**:SystemCapability.Location.Location.Core
1224
1225| 名称 | 默认值 | 说明 |
1226| -------- | -------- | -------- |
1227| INPUT_PARAMS_ERROR | 101 | 表示输入参数错误。 |
1228| REVERSE_GEOCODE_ERROR | 102 | 表示逆地理编码接口调用失败。 |
1229| GEOCODE_ERROR | 103 | 表示地理编码接口调用失败。 |
1230| LOCATOR_ERROR | 104 | 表示定位失败。 |
1231| LOCATION_SWITCH_ERROR | 105 | 表示定位开关。 |
1232| LAST_KNOWN_LOCATION_ERROR | 106 | 表示获取上次位置失败。 |
1233| LOCATION_REQUEST_TIMEOUT_ERROR | 107 | 表示单次定位,没有在指定时间内返回位置。 |
1234
1235
1236## ReverseGeoCodeRequest
1237
1238逆地理编码请求接口。
1239
1240**需要权限**:ohos.permission.LOCATION
1241
1242**系统能力**:SystemCapability.Location.Location.Geocoder
1243
1244| 名称 | 参数类型 | 必填 | 说明 |
1245| -------- | -------- | -------- | -------- |
1246| locale | string | 否 | 指定位置描述信息的语言,“zh”代表中文,“en”代表英文。 |
1247| latitude | number | 是 | 表示纬度信息,正值表示北纬,负值表示南纬。 |
1248| longitude | number | 是 | 表示经度信息,正值表示东经,负值表示西经。 |
1249| maxItems | number | 否 | 指定返回位置信息的最大个数。 |
1250
1251
1252## GeoCodeRequest
1253
1254地理编码请求接口。
1255
1256**需要权限**:ohos.permission.LOCATION
1257
1258**系统能力**:SystemCapability.Location.Location.Geocoder
1259
1260| 名称 | 参数类型 | 必填 | 说明 |
1261| -------- | -------- | -------- | -------- |
1262| locale | string | 否 | 表示位置描述信息的语言,“zh”代表中文,“en”代表英文。 |
1263| description | number | 是 | 表示位置信息描述,如“上海市浦东新区xx路xx号”。 |
1264| maxItems | number | 否 | 表示返回位置信息的最大个数。 |
1265| minLatitude | number | 否 | 表示最小纬度信息,与下面三个参数一起,表示一个经纬度范围。 |
1266| minLongitude | number | 否 | 表示最小经度信息。 |
1267| maxLatitude | number | 否 | 表示最大纬度信息。 |
1268| maxLongitude | number | 否 | 表示最大经度信息。 |
1269
1270
1271## GeoAddress
1272
1273地理编码类型。
1274
1275**需要权限**:ohos.permission.LOCATION
1276
1277**系统能力**:SystemCapability.Location.Location.Geocoder
1278
1279| 名称 | 参数类型 | 必填 | 说明 |
1280| -------- | -------- | -------- | -------- |
1281| latitude | number | 否 | 表示纬度信息,正值表示北纬,负值表示南纬。 |
1282| longitude | number | 否 | 表示经度信息,正值表示东经,负值表是西经。 |
1283| locale | string | 否 | 表示位置描述信息的语言,“zh”代表中文,“en”代表英文。 |
1284| placeName | string | 否 | 表示地区信息。 |
1285| countryCode | string | 否 | 表示国家码信息。 |
1286| countryName | string | 否 | 表示国家信息。 |
1287| administrativeArea | string | 否 | 表示省份区域信息。 |
1288| subAdministrativeArea | string | 否 | 表示表示子区域信息。 |
1289| locality | string | 否 | 表示城市信息。 |
1290| subLocality | string | 否 | 表示子城市信息。 |
1291| roadName | string | 否 | 表示路名信息。 |
1292| subRoadName | string | 否 | 表示子路名信息。 |
1293| premises | string | 否 | 表示门牌号信息。 |
1294| postalCode | string | 否 | 表示邮政编码信息。 |
1295| phoneNumber | string | 否 | 表示联系方式信息。 |
1296| addressUrl | string | 否 | 表示位置信息附件的网址信息。 |
1297| descriptions | Array&lt;string&gt; | 否 | 表示附加的描述信息。 |
1298| descriptionsSize | number | 否 | 表示附加的描述信息数量。 |
1299
1300
1301## LocationRequest
1302
1303位置信息请求类型。
1304
1305**需要权限**:ohos.permission.LOCATION
1306
1307**系统能力**:SystemCapability.Location.Location.Core
1308
1309| 名称 | 参数类型 | 必填 | 说明 |
1310| -------- | -------- | -------- | -------- |
1311| priority | [LocationRequestPriority](#locationrequestpriority) | 否 | 表示优先级信息。 |
1312| scenario | [LocationRequestScenario](#locationrequestscenario) | 是 | 表示场景信息。 |
1313| timeInterval | number | 否 | 表示上报位置信息的时间间隔。 |
1314| distanceInterval | number | 否 | 表示上报位置信息的距离间隔。 |
1315| maxAccuracy | number | 否 | 表示精度信息。 |
1316
1317
1318## CurrentLocationRequest
1319
1320当前位置信息请求类型。
1321
1322**需要权限**:ohos.permission.LOCATION
1323
1324**系统能力**:SystemCapability.Location.Location.Core
1325
1326| 名称 | 参数类型 | 必填 | 说明 |
1327| -------- | -------- | -------- | -------- |
1328| priority | [LocationRequestPriority](#locationrequestpriority) | 否 | 表示优先级信息。 |
1329| scenario | [LocationRequestScenario](#locationrequestscenario) | 否 | 表示场景信息。 |
1330| maxAccuracy | number | 否 | 表示精度信息,单位是米。 |
1331| timeoutMs | number | 否 | 表示超时时间,单位是毫秒,最小为1000毫秒。 |
1332
1333
1334## SatelliteStatusInfo<sup>8+</sup>
1335
1336卫星状态信息。
1337
1338**需要权限**:ohos.permission.LOCATION
1339
1340**系统能力**:SystemCapability.Location.Location.Gnss
1341
1342| 名称 | 参数类型 | 必填 | 说明 |
1343| -------- | -------- | -------- | -------- |
1344| satellitesNumber | number | 是 | 表示卫星个数。 |
1345| satelliteIds | Array&lt;number&gt; | 是 | 表示每个卫星的ID,数组类型。 |
1346| carrierToNoiseDensitys | Array&lt;number&gt; | 是 | 表示载波噪声功率谱密度比,即cn0。 |
1347| altitudes | Array&lt;number&gt; | 是 | 表示高程信息。 |
1348| azimuths | Array&lt;number&gt; | 是 | 表示方位角。 |
1349| carrierFrequencies | Array&lt;number&gt; | 是 | 表示载波频率。 |
1350
1351
1352## CachedGnssLocationsRequest<sup>8+</sup>
1353
1354请求订阅GNSS缓存位置上报功能接口的配置参数。
1355
1356**需要权限**:ohos.permission.LOCATION
1357
1358**系统能力**:SystemCapability.Location.Location.Gnss
1359
1360| 名称 | 参数类型 | 必填 | 说明 |
1361| -------- | -------- | -------- | -------- |
1362| reportingPeriodSec | number | 是 | 表示GNSS缓存位置上报的周期,单位是毫秒。 |
1363| wakeUpCacheQueueFull | boolean | 是 | true表示GNSS芯片底层缓存队列满之后会主动唤醒AP芯片,并把缓存位置上报给应用。<br/>false表示GNSS芯片底层缓存队列满之后不会主动唤醒AP芯片,会把缓存位置直接丢弃。 |
1364
1365
1366## Geofence<sup>8+</sup>
1367
1368GNSS围栏的配置参数。目前只支持圆形围栏。
1369
1370**需要权限**:ohos.permission.LOCATION
1371
1372**系统能力**:SystemCapability.Location.Location.Geofence
1373
1374| 名称 | 参数类型 | 必填 | 说明 |
1375| -------- | -------- | -------- | -------- |
1376| latitude | number | 是 | 表示纬度。 |
1377| longitude | number | 是 | 表示经度。 |
1378| radius | number | 是 | 表示圆形围栏的半径。 |
1379| expiration | number | 是 | 围栏存活的时间,单位是毫秒。 |
1380
1381
1382## GeofenceRequest<sup>8+</sup>
1383
1384请求添加GNSS围栏消息中携带的参数,包括定位优先级、定位场景和围栏信息。
1385
1386**需要权限**:ohos.permission.LOCATION
1387
1388**系统能力**:SystemCapability.Location.Location.Geofence
1389
1390| 名称 | 参数类型 | 必填 | 说明 |
1391| -------- | -------- | -------- | -------- |
1392| priority | LocationRequestPriority | 是 | 表示位置信息优先级。 |
1393| scenario | LocationRequestScenario | 是 | 表示定位场景。 |
1394| geofence | Geofence | 是 | 表示围栏信息。 |
1395
1396
1397## LocationPrivacyType<sup>8+</sup>
1398
1399定位服务隐私协议类型。
1400
1401**需要权限**:ohos.permission.LOCATION
1402
1403**系统能力**:SystemCapability.Location.Location.Core
1404
1405| 名称 | 默认值 | 说明 |
1406| -------- | -------- | -------- |
1407| OTHERS | 0 | 其他场景。 |
1408| STARTUP | 1 | 开机向导场景下的隐私协议。 |
1409| CORE_LOCATION | 2 | 开启网络定位时弹出的隐私协议。 |
1410
1411
1412## LocationCommand<sup>8+</sup>
1413
1414扩展命令结构体。
1415
1416**需要权限**:ohos.permission.LOCATION
1417
1418**系统能力**:SystemCapability.Location.Location.Core
1419
1420| 名称 | 参数类型 | 必填 | 说明 |
1421| -------- | -------- | -------- | -------- |
1422| scenario | LocationRequestScenario | 是 | 表示定位场景。 |
1423| command | string | 是 | 扩展命令字符串。 |
1424
1425
1426## Location
1427
1428位置信息类型。
1429
1430**需要权限**:ohos.permission.LOCATION
1431
1432**系统能力**:SystemCapability.Location.Location.Core
1433
1434| 名称 | 参数类型 | 必填 | 说明 |
1435| -------- | -------- | -------- | -------- |
1436| latitude | number | 是 | 表示纬度信息,正值表示北纬,负值表示南纬。 |
1437| longitude | number | 是 | 表示经度信息,正值表示东经,负值表是西经。 |
1438| altitude | number | 是 | 表示高度信息,单位米。 |
1439| accuracy | number | 是 | 表示精度信息,单位米。 |
1440| speed | number | 是 | 表示速度信息,单位米每秒。 |
1441| timeStamp | number | 是 | 表示位置时间戳,UTC格式。 |
1442| direction | number | 是 | 表示航向信息。 |
1443| timeSinceBoot | number | 是 | 表示位置时间戳,开机时间格式。 |
1444| additions | Array&lt;string&gt; | 否 | 附加信息。 |
1445| additionSize | number | 否 | 附加信息数量。 |
1446