diff --git a/zh-cn/application-dev/reference/apis/js-apis-geoLocationManager.md b/zh-cn/application-dev/reference/apis/js-apis-geoLocationManager.md index 4fed31bc7e47b856011d64ba9679245080154ab2..b2bd9467c2d1dd1754ad5b68160e055f3e00dd74 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-geoLocationManager.md +++ b/zh-cn/application-dev/reference/apis/js-apis-geoLocationManager.md @@ -224,7 +224,7 @@ GNSS围栏的配置参数。目前只支持圆形围栏。 **系统能力**:SystemCapability.Location.Location.Core -**系统API**:此接口为系统接口,三方应用不支持调用。 +**系统API**:此接口为系统接口。 | 名称 | 类型 | 可读|可写 | 说明 | | -------- | -------- | -------- | -------- | -------- | @@ -238,7 +238,7 @@ GNSS围栏的配置参数。目前只支持圆形围栏。 **系统能力**:SystemCapability.Location.Location.Core -**系统API**:此接口为系统接口,三方应用不支持调用。 +**系统API**:此接口为系统接口。 | 名称 | 类型 | 可读|可写 | 说明 | | -------- | -------- | -------- | -------- | -------- | @@ -258,6 +258,69 @@ GNSS围栏的配置参数。目前只支持圆形围栏。 | type | [CountryCodeType](#countrycodetype) | 是 | 否 | 表示国家码信息来源。 | +## LocatingRequiredDataConfig10+ + +获取定位所需数据时的配置参数。 + +**系统能力**:SystemCapability.Location.Location.Core + +**系统API**:此接口为系统接口。 + +| 名称 | 类型 | 可读|可写 | 说明 | +| -------- | -------- | -------- | -------- | -------- | +| type | [LocatingRequiredDataType](#locatingrequireddatatype10) | 是 | 是 | 表示请求获取数据的类型。 | +| needStartScan | boolean | 是 | 是 | 表示是否需要发起扫描。 | +| scanInterval | number | 是 | 是 | 表示扫描的时间间隔。单位是毫秒,默认值是10000毫秒,取值范围为大于0。 | +| scanTimeout | number | 是 | 是 | 表示单次扫描的超时时间。单位是毫秒,默认值是10000毫秒,取值范围为大于0小于600000。 | + + +## LocatingRequiredData10+ + +表示定位业务所需的数据,包含WiFi或蓝牙扫描结果,APP拿到这些数据之后可以用于网络定位等业务。 + +**系统能力**:SystemCapability.Location.Location.Core + +**系统API**:此接口为系统接口。 + +| 名称 | 类型 | 可读|可写 | 说明 | +| -------- | -------- | -------- | -------- | -------- | +| wifiData | [WifiScanInfo](#wifiscaninfo10) | 是 | 否 | 表示WiFi扫描结果。 | +| bluetoothData | [BluetoothScanInfo](#bluetoothscaninfo10) | 是 | 否 | 表示蓝牙扫描结果。 | + + +## WifiScanInfo10+ + +WiFi扫描信息,包含扫描到的WiFi热点的ssid、bssid和rssi等信息。 + +**系统能力**:SystemCapability.Location.Location.Core + +**系统API**:此接口为系统接口。 + +| 名称 | 类型 | 可读|可写 | 说明 | +| -------- | -------- | -------- | -------- | -------- | +| ssid | string | 是 | 否 | WiFi热点的SSID,编码格式为UTF-8。 | +| bssid | string | 是 | 否 | WiFi热点的BSSID。 | +| rssi | number | 是 | 否 | WiFi热点的信号强度(dBm)。 | +| frequency | number | 是 | 否 | WiFi热点的频率。 | +| timestamp | number | 是 | 否 | 时间戳。 | + + +## BluetoothScanInfo10+ + +蓝牙扫描信息。 + +**系统能力**:SystemCapability.Location.Location.Core + +**系统API**:此接口为系统接口。 + +| 名称 | 类型 | 可读|可写 | 说明 | +| -------- | -------- | -------- | -------- | -------- | +| deviceName | string | 是 | 否 | 蓝牙设备名称。 | +| macAddress | string | 是 | 否 | 蓝牙设备的MAC地址。 | +| rssi | number | 是 | 否 | 蓝牙设备的信号强度(dBm)。 | +| timestamp | number | 是 | 否 | 时间戳。 | + + ## LocationRequestPriority 位置请求中位置信息优先级设置。 @@ -294,7 +357,7 @@ GNSS围栏的配置参数。目前只支持圆形围栏。 **系统能力**:SystemCapability.Location.Location.Core -**系统API**:此接口为系统接口,三方应用不支持调用。 +**系统API**:此接口为系统接口。 | 名称 | 值 | 说明 | | -------- | -------- | -------- | @@ -317,6 +380,20 @@ GNSS围栏的配置参数。目前只支持圆形围栏。 | COUNTRY_CODE_FROM_NETWORK | 4 | 从蜂窝网络注册信息中获取到的国家码。 | +## LocatingRequiredDataType10+ + +定位业务所需数据的类型。 + +**系统能力**:SystemCapability.Location.Location.Core + +**系统API**:此接口为系统接口。 + +| 名称 | 值 | 说明 | +| -------- | -------- | -------- | +| WIFI | 1 | 表示WiFi扫描信息。 | +| BLUETOOTH | 2 | 表示蓝牙扫描信息。 | + + ## geoLocationManager.on('locationChange') on(type: 'locationChange', request: LocationRequest, callback: Callback<Location>): void @@ -942,6 +1019,89 @@ off(type: 'countryCodeChange', callback?: Callback<CountryCode>): void; ``` +## geoLocationManager.on('locatingRequiredDataChange')10+ + +on(type: 'locatingRequiredDataChange', config: LocatingRequiredDataConfig, callback: Callback<Array<LocatingRequiredData>>): void; + +订阅定位业务所需数据的变化,主要包含WiFi和蓝牙扫描信息;根据入参决定是否启动WiFi和蓝牙扫描。 + +**需要权限**:ohos.permission.LOCATION 和 ohos.permission.APPROXIMATELY_LOCATION + +**系统能力**:SystemCapability.Location.Location.Core + +**系统API**:此接口为系统接口。 + +**参数**: + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | type | string | 是 | 设置事件类型。type为“locatingRequiredDataChange”,表示订阅定位业务所需数据的变化。 | + | config | [LocatingRequiredDataConfig](#locatingrequireddataconfig10) | 是 | 表示获取定位所需数据时的配置参数。 | + | callback | Callback<Array<[LocatingRequiredData](#locatingrequireddata10)>> | 是 | 接收定位业务所需数据的上报。 | + +**错误码**: + +以下错误码的详细介绍请参见[位置服务子系统错误码](../errorcodes/errorcode-geoLocationManager.md)。 + +| 错误码ID | 错误信息 | +| -------- | ---------------------------------------- | +|3301800 | Failed to start WiFi or Bluetooth scanning. | + +**示例** + + ```ts + import geoLocationManager from '@ohos.geoLocationManager'; + let callback = (code) => { + console.log('locatingRequiredDataChange: ' + JSON.stringify(code)); + } + let config = {'type': 1, 'needStartScan': true, 'scanInterval': 10000}; + try { + geoLocationManager.on('locatingRequiredDataChange', config, callback); + } catch (err) { + console.error("errCode:" + err.code + ",errMessage:" + err.message); + } + ``` + + +## geoLocationManager.off('locatingRequiredDataChange')10+ + +off(type: 'locatingRequiredDataChange', callback?: Callback<Array<LocatingRequiredData>>): void; + +取消订阅定位业务所需数据的变化,并停止WiFi和蓝牙扫描。 + +**需要权限**:ohos.permission.LOCATION 和 ohos.permission.APPROXIMATELY_LOCATION + +**系统能力**:SystemCapability.Location.Location.Core + +**系统API**:此接口为系统接口。 + +**参数**: + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | type | string | 是 | 设置事件类型。type为“locatingRequiredDataChange”,表示取消订阅定位业务所需数据的变化。 | + | callback | Callback<Array<[LocatingRequiredData](#locatingrequireddata10)>> | 否 | 需要取消订阅的回调函数。若无此参数,则取消当前类型的所有订阅。 | + +**错误码**: + +错误码的详细介绍请参见[位置服务子系统错误码](../errorcodes/errorcode-geoLocationManager.md)。 + +**示例** + + ```ts + import geoLocationManager from '@ohos.geoLocationManager'; + let callback = (code) => { + console.log('locatingRequiredDataChange: ' + JSON.stringify(code)); + } + let config = {'type': 1, 'needStartScan': true, 'scanInterval': 10000}; + try { + geoLocationManager.on('locatingRequiredDataChange', config, callback); + geoLocationManager.off('locatingRequiredDataChange', callback); + } catch (err) { + console.error("errCode:" + err.code + ",errMessage:" + err.message); + } + ``` + ## geoLocationManager.getCurrentLocation @@ -1165,7 +1325,7 @@ enableLocation(callback: AsyncCallback<void>): void; 打开位置服务,使用callback回调异步返回结果。 -**系统API**:此接口为系统接口,三方应用不支持调用。 +**系统API**:此接口为系统接口。 **需要权限**:ohos.permission.MANAGE_SECURE_SETTINGS @@ -1207,7 +1367,7 @@ enableLocation(): Promise<void> 打开位置服务,使用Promise方式异步返回结果。 -**系统API**:此接口为系统接口,三方应用不支持调用。 +**系统API**:此接口为系统接口。 **需要权限**:ohos.permission.MANAGE_SECURE_SETTINGS @@ -1249,7 +1409,7 @@ disableLocation(): void; 关闭位置服务。 -**系统API**:此接口为系统接口,三方应用不支持调用。 +**系统API**:此接口为系统接口。 **需要权限**:ohos.permission.MANAGE_SECURE_SETTINGS @@ -1275,7 +1435,6 @@ disableLocation(): void; ``` - ## geoLocationManager.getAddressesFromLocation getAddressesFromLocation(request: ReverseGeoCodeRequest, callback: AsyncCallback<Array<GeoAddress>>): void @@ -1839,7 +1998,7 @@ enableLocationMock(): void; **系统能力**:SystemCapability.Location.Location.Core -**系统API**:此接口为系统接口,三方应用不支持调用。 +**系统API**:此接口为系统接口。 **错误码**: @@ -1870,7 +2029,7 @@ disableLocationMock(): void; **系统能力**:SystemCapability.Location.Location.Core -**系统API**:此接口为系统接口,三方应用不支持调用。 +**系统API**:此接口为系统接口。 **错误码**: @@ -1903,7 +2062,7 @@ setMockedLocations(config: LocationMockConfig): void; **系统能力**:SystemCapability.Location.Location.Core -**系统API**:此接口为系统接口,三方应用不支持调用。 +**系统API**:此接口为系统接口。 **参数**: @@ -1949,7 +2108,7 @@ enableReverseGeocodingMock(): void; **系统能力**:SystemCapability.Location.Location.Core -**系统API**:此接口为系统接口,三方应用不支持调用。 +**系统API**:此接口为系统接口。 **错误码**: @@ -1979,7 +2138,7 @@ disableReverseGeocodingMock(): void; **系统能力**:SystemCapability.Location.Location.Core -**系统API**:此接口为系统接口,三方应用不支持调用。 +**系统API**:此接口为系统接口。 **错误码**: @@ -2011,7 +2170,7 @@ setReverseGeocodingMockInfo(mockInfos: Array<ReverseGeocodingMockInfo>): v **系统能力**:SystemCapability.Location.Location.Core -**系统API**:此接口为系统接口,三方应用不支持调用。 +**系统API**:此接口为系统接口。 **参数**: @@ -2053,7 +2212,7 @@ isLocationPrivacyConfirmed(type: LocationPrivacyType): boolean; 查询用户是否同意定位服务隐私申明,是否同意启用定位服务。只有系统应用才能调用。 -**系统API**:此接口为系统接口,三方应用不支持调用。 +**系统API**:此接口为系统接口。 **系统能力**:SystemCapability.Location.Location.Core @@ -2095,7 +2254,7 @@ setLocationPrivacyConfirmStatus(type: LocationPrivacyType, isConfirmed: boolean) 设置用户勾选定位服务隐私申明的状态,记录用户是否同意启用定位服务。只有系统应用才能调用。 -**系统API**:此接口为系统接口,三方应用不支持调用。 +**系统API**:此接口为系统接口。 **需要权限**:ohos.permission.MANAGE_SECURE_SETTINGS @@ -2126,3 +2285,53 @@ setLocationPrivacyConfirmStatus(type: LocationPrivacyType, isConfirmed: boolean) console.error("errCode:" + err.code + ",errMessage:" + err.message); } ``` + + +## geoLocationManager.getLocatingRequiredData10+ + +getLocatingRequiredData(config: LocatingRequiredDataConfig): Promise<Array<LocatingRequiredData>>; + +单次获取定位业务所需数据,包含WiFi蓝牙扫描信息,使用Promise方式异步返回结果。 + +**需要权限**:ohos.permission.LOCATION 和 ohos.permission.APPROXIMATELY_LOCATION + +**系统能力**:SystemCapability.Location.Location.Core + +**系统API**:此接口为系统接口。 + +**参数**: + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | config | [LocatingRequiredDataConfig](#locatingrequireddataconfig10) | 是 | 表示获取定位所需数据时的配置参数。 | + +**返回值**: + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | Promise<Array<[LocatingRequiredData](#locatingrequireddata10)>> | [LocatingRequiredData](#locatingrequireddata10) | NA | 用来接收定位业务所需数据,包含WiFi蓝牙扫描信息。 | + +**错误码**: + +以下错误码的详细介绍请参见[位置服务子系统错误码](../errorcodes/errorcode-geoLocationManager.md)。 + +| 错误码ID | 错误信息 | +| -------- | ---------------------------------------- | +|3301800 | Failed to start WiFi or Bluetooth scanning. | + +**示例** + + ```ts + import geoLocationManager from '@ohos.geoLocationManager'; + let config = {'type': 1, 'needStartScan': true, 'scanInterval': 10000}; + try { + geoLocationManager.getLocatingRequiredData(config).then((result) => { + console.log('getLocatingRequiredData return: ' + JSON.stringify(result)); + }) + .catch((error) => { + console.log('promise, getLocatingRequiredData: error=' + JSON.stringify(error)); + }); + } catch (err) { + console.error("errCode:" + err.code + ",errMessage:" + err.message); + } + ``` \ No newline at end of file diff --git a/zh-cn/application-dev/reference/errorcodes/errorcode-geoLocationManager.md b/zh-cn/application-dev/reference/errorcodes/errorcode-geoLocationManager.md index 9ce9ce18fed30455f5da33e35a495caf36d01cc6..c01a2749edb34f4313eb5a9ef9d0184a94d3fd74 100644 --- a/zh-cn/application-dev/reference/errorcodes/errorcode-geoLocationManager.md +++ b/zh-cn/application-dev/reference/errorcodes/errorcode-geoLocationManager.md @@ -12,19 +12,19 @@ Location service is unavailable. **错误描述** -位置服务不可用,位置服务相关的接口无法调用. +位置服务不可用,位置服务相关的接口无法调用。 **可能原因** -1.位置服务启动异常,导致应用和位置服务子系统通信失败,导致位置服务不可用. +1.位置服务启动异常,导致应用和位置服务子系统通信失败,导致位置服务不可用。 -2.GNSS芯片初始化失败导致GNSS定位功能失效. +2.GNSS芯片初始化失败导致GNSS定位功能失效。 -3.网络定位服务异常,导致网络定位功能失效. +3.网络定位服务异常,导致网络定位功能失效。 **处理步骤** -请停止调用该接口. +请停止调用该接口。 ## 3301100 位置功能的开关未开启导致功能失败 @@ -34,17 +34,17 @@ The location switch is off. **错误描述** -位置功能的开关未开启导致功能失败. +位置功能的开关未开启导致功能失败。 **可能原因** -位置功能的开关未开启,导致持续定位,单次定位等基本功能不可用. +位置功能的开关未开启,导致持续定位,单次定位等基本功能不可用。 **处理步骤** -请提示用户开启位置功能的开关. +请提示用户开启位置功能的开关。 -## 3301200 定位失败,未获取到定位结果 +## 3301200 定位失败,未获取到定位结果 **错误信息** @@ -52,17 +52,17 @@ Failed to obtain the geographical location. **错误描述** -定位失败,未获取到定位结果. +定位失败,未获取到定位结果。 **可能原因** -1.GNSS信号弱,导致定位超时. +1.GNSS信号弱,导致定位超时。 -2.网络定位异常导致定位超时. +2.网络定位异常导致定位超时。 **处理步骤** -请重新发起定位请求. +请重新发起定位请求。 ## 3301300 逆地理编码查询失败 @@ -72,15 +72,15 @@ Reverse geocoding query failed. **错误描述** -逆地理编码查询失败. +逆地理编码查询失败。 **可能原因** -数据网络比较卡顿,导致端侧的请求发送失败或者云端的结果未返回到端侧. +数据网络比较卡顿,导致端侧的请求发送失败或者云端的结果未返回到端侧。 **处理步骤** -请重试逆地理编码查询. +请重试逆地理编码查询。 ## 3301400 地理编码查询失败 @@ -90,15 +90,15 @@ Geocoding query failed. **错误描述** -地理编码查询失败. +地理编码查询失败。 **可能原因** -数据网络比较卡顿,导致端侧的请求发送失败或者云端的结果未返回到端侧. +数据网络比较卡顿,导致端侧的请求发送失败或者云端的结果未返回到端侧。 **处理步骤** -请重试地理编码查询. +请重试地理编码查询。 ## 3301500 区域信息(包含国家码)查询失败 @@ -108,15 +108,15 @@ Failed to query the area information. **错误描述** -区域信息(包含国家码)查询失败. +区域信息(包含国家码)查询失败。 **可能原因** -未查询到正确的区域信息. +未查询到正确的区域信息。 **处理步骤** -请停止调用查询区域码的接口. +请停止调用查询区域码的接口。 ## 3301600 地理围栏操作失败 @@ -126,17 +126,17 @@ Failed to operate the geofence. **错误描述** -地理围栏操作失败,包含添加,删除,暂停和恢复等操作. +地理围栏操作失败,包含添加,删除,暂停和恢复等操作。 **可能原因** -1.GNSS芯片不支持地理围栏功能. +1.GNSS芯片不支持地理围栏功能。 -2.底层业务逻辑异常导致操作地理围栏失败. +2.底层业务逻辑异常导致操作地理围栏失败。 **处理步骤** -请停止调用地理围栏操作接口. +请停止调用地理围栏操作接口。 ## 3301700 请求无响应 @@ -146,16 +146,38 @@ No response to the request. **错误描述** -某些异步请求需要用户点击按钮确认,或者需要GNSS芯片和网络服务器响应,这些场景下未收到响应导致业务失败. +某些异步请求需要用户点击按钮确认,或者需要GNSS芯片和网络服务器响应,这些场景下未收到响应导致业务失败。 **可能原因** -1.用户未点击按钮确认. +1.用户未点击按钮确认。 -2.GNSS芯片未响应. +2.GNSS芯片未响应。 -3.网络服务器未响应. +3.网络服务器未响应。 **处理步骤** -请停止调用相关接口. \ No newline at end of file +请停止调用相关接口。 + +## 3301800 启动WiFi或蓝牙扫描失败 + +**错误信息** + +Failed to start WiFi or Bluetooth scanning. + +**错误描述** + +在订阅WiFi蓝牙扫描信息时,可能会先启动WiFi蓝牙扫描,如果启动扫描失败则会返回错误码给APP。 + +**可能原因** + +1.WiFi或蓝牙服务内部错误导致启动扫描失败。 + +2.低电量场景下,受功耗管控,导致无法发起扫描。 + +3.WiFi或蓝牙开关未开启。 + +**处理步骤** + +重新关闭开启WiFi或蓝牙开关。 \ No newline at end of file