1# 位置服务 2 3 4>  **说明:** 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<Array<Location>>) : 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<boolean> | 是 | 接收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<Array<Location>>) : 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<boolean> | 否 | 接收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<SatelliteStatusInfo>) : 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<SatelliteStatusInfo> | 是 | 接收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<SatelliteStatusInfo>) : 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<SatelliteStatusInfo> | 否 | 接收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<string>) : 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 NMEA信息上报。 | 254 | callback | Callback<string> | 是 | 接收GNSS 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<string>) : 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 NMEA信息上报。 | 281 | callback | Callback<string> | 否 | 接收GNSS 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<Location>) : 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<[Location](#location)> | 是 | 用来接收位置信息的回调。 | 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<Location> 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<[Location](#location)> | 返回位置信息。 | 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<Location>) : void 493 494获取上一次位置,使用callback回调异步返回结果。 495 496**需要权限**:ohos.permission.LOCATION 497 498**系统能力**:SystemCapability.Location.Location.Core 499 500- 参数: 501 | 参数名 | 类型 | 必填 | 说明 | 502 | -------- | -------- | -------- | -------- | 503 | callback | AsyncCallback<[Location](#location)> | 是 | 用来接收上次位置的回调。 | 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<Location> 518 519获取上一次位置,使用Promise方式异步返回结果。 520 521**需要权限**:ohos.permission.LOCATION 522 523**系统能力**:SystemCapability.Location.Location.Core 524 525- 返回值: 526 | 参数名 | 说明 | 527 | -------- | -------- | 528 | Promise<[Location](#location)> | 返回上次位置信息。 | 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<boolean>) : void 543 544 545判断位置服务是否已经打开,使用callback回调异步返回结果。 546 547**需要权限**:ohos.permission.LOCATION 548 549**系统能力**:SystemCapability.Location.Location.Core 550 551- 参数: 552 | 参数名 | 类型 | 必填 | 说明 | 553 | -------- | -------- | -------- | -------- | 554 | callback | AsyncCallback<boolean> | 是 | 用来接收位置服务状态的回调。 | 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<boolean> 569 570判断位置服务是否已经开启,使用Promise方式异步返回结果。 571 572**需要权限**:ohos.permission.LOCATION 573 574**系统能力**:SystemCapability.Location.Location.Core 575 576- 返回值: 577 | 参数名 | 说明 | 578 | -------- | -------- | 579 | Promise<boolean> | 返回位置服务是否可用的状态。 | 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<boolean>) : void 593 594 595请求打开位置服务,使用callback回调异步返回结果。 596 597**需要权限**:ohos.permission.LOCATION 598 599**系统能力**:SystemCapability.Location.Location.Core 600 601- 参数: 602 | 参数名 | 类型 | 必填 | 说明 | 603 | -------- | -------- | -------- | -------- | 604 | callback | AsyncCallback<boolean> | 是 | 用来接收位置服务状态的回调。 | 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<boolean> 619 620请求打开位置服务,使用Promise方式异步返回结果。 621 622**需要权限**:ohos.permission.LOCATION 623 624**系统能力**:SystemCapability.Location.Location.Core 625 626- 返回值: 627 | 参数名 | 说明 | 628 | -------- | -------- | 629 | Promise<boolean> | 返回位置服务是否可用。 | 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<boolean>) : 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<boolean> | 是 | 用来接收位置服务状态的回调。 | 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<boolean> 671 672打开位置服务,使用Promise方式异步返回结果。 673 674**系统API**:此接口为系统接口,三方应用不支持调用。 675 676**需要权限**:ohos.permission.LOCATION 677 678**系统能力**:SystemCapability.Location.Location.Core 679 680- 返回值: 681 | 参数名 | 说明 | 682 | -------- | -------- | 683 | Promise<boolean> | 返回位置服务是否可用。 | 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<boolean>) : 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<boolean> | 是 | 用来接收位置服务状态的回调。 | 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<boolean> 724 725打开位置服务,使用Promise方式异步返回结果。 726 727**系统API**:此接口为系统接口,三方应用不支持调用。 728 729**需要权限**:ohos.permission.LOCATION 730 731**系统能力**:SystemCapability.Location.Location.Core 732 733- 返回值: 734 | 参数名 | 说明 | 735 | -------- | -------- | 736 | Promise<boolean> | 返回位置服务是否可用。 | 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<boolean>) : void 750 751判断(逆)地理编码服务状态,使用callback回调异步返回结果。 752 753**需要权限**:ohos.permission.LOCATION 754 755**系统能力**:SystemCapability.Location.Location.Geocoder 756 757- 参数: 758 | 参数名 | 类型 | 必填 | 说明 | 759 | -------- | -------- | -------- | -------- | 760 | callback | AsyncCallback<boolean> | 是 | 用来接收地理编码服务状态的回调。 | 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<boolean> 775 776判断(逆)地理编码服务状态,使用Promise方式异步返回结果。 777 778**需要权限**:ohos.permission.LOCATION 779 780**系统能力**:SystemCapability.Location.Location.Geocoder 781 782- 返回值: 783 | 参数名 | 说明 | 784 | -------- | -------- | 785 | Promise<boolean> | 返回地理编码服务是否可用的状态。 | 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<Array<GeoAddress>>) : 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<Array<[GeoAddress](#geoaddress)>> | 是 | 设置接收逆地理编码请求的回调参数。 | 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<Array<GeoAddress>>; 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<Array<[GeoAddress](#geoaddress)>> | 返回地理描述信息。 | 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<Array<GeoAddress>>) : 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<Array<[GeoAddress](#geoaddress)>> | 是 | 设置接收地理编码请求的回调参数。 | 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<Array<GeoAddress>> 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<Array<[GeoAddress](#geoaddress)>> | 设置接收地理编码请求的回调参数。 | 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<number>) : void; 915 916获取GNSS芯片缓存位置的个数。 917 918**需要权限**:ohos.permission.LOCATION 919 920**系统能力**:SystemCapability.Location.Location.Gnss 921 922- 参数: 923 | 参数名 | 类型 | 必填 | 说明 | 924 | -------- | -------- | -------- | -------- | 925 | callback | AsyncCallback<number> | 是 | 用来接收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<number>; 939 940获取GNSS芯片缓存位置的个数。 941 942**需要权限**:ohos.permission.LOCATION 943 944**系统能力**:SystemCapability.Location.Location.Gnss 945 946- 返回值: 947 | 参数名 | 说明 | 948 | -------- | -------- | 949 | Promise<number> | 返回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<boolean>) : void; 963 964读取并清空GNSS芯片所有缓存位置。 965 966**需要权限**:ohos.permission.LOCATION 967 968**系统能力**:SystemCapability.Location.Location.Gnss 969 970- 参数: 971 | 参数名 | 类型 | 必填 | 说明 | 972 | -------- | -------- | -------- | -------- | 973 | callback | AsyncCallback<boolean> | 是 | 用来接收清空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<boolean>; 987 988读取并清空GNSS芯片所有缓存位置。 989 990**需要权限**:ohos.permission.LOCATION 991 992**系统能力**:SystemCapability.Location.Location.Gnss 993 994- 返回值: 995 | 参数名 | 说明 | 996 | -------- | -------- | 997 | Promise<boolean> | 清空所有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<boolean>) : void; 1011 1012给位置服务子系统的各个部件发送扩展命令。只有系统应用才能调用。 1013 1014**需要权限**:ohos.permission.LOCATION 1015 1016**系统能力**:SystemCapability.Location.Location.Core 1017 1018- 参数: 1019 | 参数名 | 类型 | 必填 | 说明 | 1020 | -------- | -------- | -------- | -------- | 1021 | command | LocationCommand | 是 | 指定目标场景,和将要发送的命令(字符串)。 | 1022 | callback | AsyncCallback<boolean> | 是 | 用来接收命令发送的结果。 | 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<boolean>; 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<boolean> | 表示命令发送成功或失败。 | 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<boolean>) : 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<boolean> | 是 | 表示用户是否同意定位服务隐私申明。 | 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<boolean>; 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<boolean> | 表示用户是否同意定位服务隐私申明。 | 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<boolean>) : 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<boolean> | 是 | 表示操作是否成功。 | 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<boolean>; 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<boolean> | 表示操作是否成功。 | 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<string> | 否 | 表示附加的描述信息。 | 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<number> | 是 | 表示每个卫星的ID,数组类型。 | 1346| carrierToNoiseDensitys | Array<number> | 是 | 表示载波噪声功率谱密度比,即cn0。 | 1347| altitudes | Array<number> | 是 | 表示高程信息。 | 1348| azimuths | Array<number> | 是 | 表示方位角。 | 1349| carrierFrequencies | Array<number> | 是 | 表示载波频率。 | 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<string> | 否 | 附加信息。 | 1445| additionSize | number | 否 | 附加信息数量。 | 1446