Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
010dfd22
D
Docs
项目概览
OpenHarmony
/
Docs
大约 1 年 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
010dfd22
编写于
12月 19, 2022
作者:
O
openharmony_ci
提交者:
Gitee
12月 19, 2022
浏览文件
操作
浏览文件
下载
差异文件
!12629 修改changelog
Merge pull request !12629 from 刘彬俊/master
上级
556c3478
07db9d05
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
115 addition
and
0 deletion
+115
-0
zh-cn/release-notes/changelogs/OpenHarmony_3.2.8.3/changelogs-geolocation.md
.../changelogs/OpenHarmony_3.2.8.3/changelogs-geolocation.md
+115
-0
未找到文件。
zh-cn/release-notes/changelogs/OpenHarmony_3.2.8.3/changelogs-geolocation.md
0 → 100644
浏览文件 @
010dfd22
# 位置服务子系统ChangeLog
## cl.location.1 系统API和API9接口迁移到新增的@ohos.geoLocationManager.d.ts
@ohos.geolocation.d.ts接口不支持抛出错误码,而API9和systemApi都需要支持抛出错误码,为了支持该功能,把@ohos.geolocation.d.ts中systemApi和API9所有接口,迁移到新增的@ohos.geoLocationManager.d.ts中,并增加错误码描述。
后续需要import @ohos.geoLocationManager才能使用位置服务的系统API和API9接口:
import geoLocationManager from '@ohos.geoLocationManager';
**变更影响**
仅对系统API和API9所有接口的使用有影响,需要import @ohos.geoLocationManager才能使用位置服务的系统API和API9接口:
import geoLocationManager from '@ohos.geoLocationManager';
对于其他接口无影响。
**关键的接口/组件变更**
| 类名 | 接口类型 | 接口声明 | 变更类型 |
| -- | -- | -- | -- |
|geolocation| namespace | declare namespacegeolocation| API9接口变更,迁移到@ohos.geoLocationManager.d.ts |
|geolocation | interface | export interface ReverseGeocodingMockInfo | API9接口变更,迁移到@ohos.geoLocationManager.d.ts |
|geolocation | interface | export interface LocationMockConfig | API9接口变更,迁移到@ohos.geoLocationManager.d.ts |
|geolocation | interface | export interface CountryCode | API9接口变更,迁移到@ohos.geoLocationManager.d.ts |
|geolocation | enum | export enum CountryCodeType | API9接口变更,迁移到@ohos.geoLocationManager.d.ts |
|geolocation.GeoAddress | field | isFromMock?: Boolean; | API9接口变更,迁移到@ohos.geoLocationManager.d.ts |
|geolocation.Location | field | isFromMock?: Boolean; | API9接口变更,迁移到@ohos.geoLocationManager.d.ts |
|geolocation.GeoLocationErrorCode | field | NOT_SUPPORTED = 100 | API9接口变更,迁移到@ohos.geoLocationManager.d.ts |
|geolocation.GeoLocationErrorCode | field | QUERY_COUNTRY_CODE_ERROR | API9接口变更,迁移到@ohos.geoLocationManager.d.ts |
|geolocation| method | function on(type: 'countryCodeChange', callback: Callback
<
CountryCode
>
): void; | API9接口变更,迁移到@ohos.geoLocationManager.d.ts |
|geolocation| method | function off(type: 'countryCodeChange', callback?: Callback
<
CountryCode
>
): void; | API9接口变更,迁移到@ohos.geoLocationManager.d.ts |
|geolocation| method | function getCountryCode(callback: AsyncCallback
<
CountryCode
>
): void; | API9接口变更,迁移到@ohos.geoLocationManager.d.ts |
|geolocation| method | function getCountryCode(): Promise
<
CountryCode
>
; | API9接口变更,迁移到@ohos.geoLocationManager.d.ts |
|geolocation| method | function enableLocationMock(scenario: LocationRequestScenario, callback: AsyncCallback
<
void
>
): void; | API9接口变更,该接口删除。 |
|geolocation| method | function enableLocationMock(callback: AsyncCallback
<
void
>
): void; | API9接口变更,迁移到@ohos.geoLocationManager.d.ts |
|geolocation| method | function enableLocationMock(scenario: LocationRequestScenario): Promise
<
void
>
; | API9接口变更,该接口删除。 |
|geolocation| method | function enableLocationMock(): Promise
<
void
>
; | API9接口变更,迁移到@ohos.geoLocationManager.d.ts |
|geolocation| method | function disableLocationMock(scenario: LocationRequestScenario, callback: AsyncCallback
<
void
>
): void; | API9接口变更,该接口删除。 |
|geolocation| method | function disableLocationMock(callback: AsyncCallback
<
void
>
): void; | API9接口变更,迁移到@ohos.geoLocationManager.d.ts |
|geolocation| method | function disableLocationMock(scenario: LocationRequestScenario): Promise
<
void
>
; | API9接口变更,该接口删除。 |
|geolocation| method | function disableLocationMock(): Promise
<
void
>
; | API9接口变更,迁移到@ohos.geoLocationManager.d.ts |
|geolocation| method | function setMockedLocations(config: LocationMockConfig, callback: AsyncCallback
<
void
>
): void; | API9接口变更,迁移到@ohos.geoLocationManager.d.ts |
|geolocation| method | function setMockedLocations(config: LocationMockConfig): Promise
<
void
>
; | API9接口变更,迁移到@ohos.geoLocationManager.d.ts |
|geolocation| method | function enableReverseGeocodingMock(callback: AsyncCallback
<
void
>
): void; | API9接口变更,迁移到@ohos.geoLocationManager.d.ts |
|geolocation| method | function enableReverseGeocodingMock(): Promise
<
void
>
; | API9接口变更,迁移到@ohos.geoLocationManager.d.ts |
|geolocation| method | function disableReverseGeocodingMock(callback: AsyncCallback
<
void
>
): void; | API9接口变更,迁移到@ohos.geoLocationManager.d.ts |
|geolocation| method | function disableReverseGeocodingMock(): Promise
<
void
>
; | API9接口变更,迁移到@ohos.geoLocationManager.d.ts |
|geolocation| method | function setReverseGeocodingMockInfo(mockInfos: Array
<
ReverseGeocodingMockInfo
>
, callback: AsyncCallback
<
void
>
): void; | API9接口变更,迁移到@ohos.geoLocationManager.d.ts |
|geolocation| method | function setReverseGeocodingMockInfo(mockInfos: Array
<
ReverseGeocodingMockInfo
>
): Promise
<
void
>
; | API9接口变更,迁移到@ohos.geoLocationManager.d.ts |
|geolocation| method | function isLocationPrivacyConfirmed(type: LocationPrivacyType, callback: AsyncCallback
<
boolean
>
): void; | API9接口变更,迁移到@ohos.geoLocationManager.d.ts |
|geolocation| method | function isLocationPrivacyConfirmed(type: LocationPrivacyType): Promise
<
boolean
>
; | API9接口变更,迁移到@ohos.geoLocationManager.d.ts |
|geolocation| method | function setLocationPrivacyConfirmStatus(type: LocationPrivacyType, isConfirmed: boolean, callback: AsyncCallback
<
boolean
>
): void; | API9接口变更,迁移到@ohos.geoLocationManager.d.ts,callback返回值改为void。 |
|geolocation| method | function setLocationPrivacyConfirmStatus(type: LocationPrivacyType, isConfirmed: boolean): Promise
<
boolean
>
; | API9接口变更,迁移到@ohos.geoLocationManager.d.ts,promise返回值改为void。 |
**适配指导(可选,不涉及则可以删除)**
以enableLocation为例,在新版本上需要使用如下方式进行调用:
```
ts
import
geoLocationManager
from
'
@ohos.geoLocationManager
'
;
try
{
geoLocationManager
.
enableLocation
((
err
,
data
)
=>
{
if
(
err
)
{
console
.
log
(
'
enableLocation: err=
'
+
JSON
.
stringify
(
err
));
}
});
}
catch
(
err
)
{
console
.
error
(
"
errCode:
"
+
err
.
code
+
"
,errMessage:
"
+
err
.
message
);
}
##
cl
.
location
.
2
位置服务权限变更
从API9开始
,
增加ohos
.
permission
.
APPROXIMATELY_LOCATION
,
表示模糊位置权限
。
如果应用开发者使用的API版本大于等于9
,
则需要同时申请ohos
.
permission
.
LOCATION和ohos
.
permission
.
APPROXIMATELY_LOCATION
,
单独申请ohos
.
permission
.
LOCATION会失败
。
**
变更影响
**
如果是存量应用
(
使用的API版本小于9
),
则无影响
。
如果使用的API版本大于等于9
,
位置服务权限申请方式有变更
,
详情如下
:
应用在使用系统能力前
,
需要检查是否已经获取用户授权访问设备位置信息
。
如未获得授权
,
可以向用户申请需要的位置权限
,
申请方式请参考下文
。
系统提供的定位权限有
:
-
ohos
.
permission
.
LOCATION
-
ohos
.
permission
.
APPROXIMATELY_LOCATION
-
ohos
.
permission
.
LOCATION_IN_BACKGROUND
访问设备的位置信息
,
必须申请权限
,
并且获得用户授权
。
API9之前的版本
,
申请ohos
.
permission
.
LOCATION即可
。
API9及之后的版本
,
需要申请ohos
.
permission
.
APPROXIMATELY_LOCATION或者同时申请ohos
.
permission
.
APPROXIMATELY_LOCATION和ohos
.
permission
.
LOCATION
;
无法单独申请ohos
.
permission
.
LOCATION
。
|
使用的API版本
|
申请位置权限
|
申请结果
|
位置的精确度
|
|
--------
|
--------
|
--------
|
--------
|
|
小于9
|
ohos
.
permission
.
LOCATION
|
成功
|
获取到精准位置
,
精准度在米级别
。
|
|
大于等于9
|
ohos
.
permission
.
LOCATION
|
失败
|
无法获取位置
。
|
|
大于等于9
|
ohos
.
permission
.
APPROXIMATELY_LOCATION
|
成功
|
获取到模糊位置
,
精确度为5公里
。
|
|
大于等于9
|
ohos
.
permission
.
APPROXIMATELY_LOCATION和ohos
.
permission
.
LOCATION
|
成功
|
获取到精准位置
,
精准度在米级别
。
|
如果应用在后台运行时也需要访问设备位置
,
除需要将应用声明为允许后台运行外
,
还必须申请ohos
.
permission
.
LOCATION_IN_BACKGROUND权限
,
这样应用在切入后台之后
,
系统可以继续上报位置信息
。
开发者可以在应用配置文件中声明所需要的权限
,
具体可参考
[
授权申请指导
](..
/
..
/
..
/
application
-
dev
/
security
/
accesstoken
-
guidelines
.
md
)
。
**
关键的接口
/
组件变更
**
如果是存量应用
(
使用的API版本小于9
),
则无影响
。
如果使用的API版本大于等于9
,
则在使用
@
ohos
.
geolocation和
@
ohos
.
geoLocationManager中需要ohos
.
permission
.
LOCATION权限的接口时
,
都需要按照上文所述方式申请对应权限
。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录