2022-03-10 12:05:50 +00:00
|
|
|
|
# 位置服务组件<a name="ZH-CN_TOPIC_0000001115112235"></a>
|
2022-03-10 11:45:15 +00:00
|
|
|
|
|
2022-03-10 12:05:50 +00:00
|
|
|
|
- [简介](#section11660541593)
|
|
|
|
|
- [目录](#section161941989596)
|
|
|
|
|
- [约束](#section119744591305)
|
|
|
|
|
- [说明](#section1312121216216)
|
|
|
|
|
- [接口说明](#section1551164914237)
|
|
|
|
|
- [使用说明](#section129654513264)
|
2022-03-10 11:45:15 +00:00
|
|
|
|
|
2022-03-10 12:05:50 +00:00
|
|
|
|
- [相关仓](#section1371113476307)
|
2022-03-10 11:45:15 +00:00
|
|
|
|
|
2022-03-10 12:05:50 +00:00
|
|
|
|
## 简介<a name="section11660541593"></a>
|
2022-03-10 11:45:15 +00:00
|
|
|
|
|
2022-03-10 12:05:50 +00:00
|
|
|
|
移动终端设备已经深入人们日常生活的方方面面,如查看所在城市的天气、新闻轶事、出行打车、旅行导航、运动记录。这些习以为常的活动,都离不开定位用户终端设备的位置。
|
2022-03-10 11:45:15 +00:00
|
|
|
|
|
2022-06-09 03:06:40 +00:00
|
|
|
|
当用户处于这些丰富的使用场景中时,系统的位置定位能力可以提供实时准确的位置数据。对于开发者,设计基于位置体验的服务,也可以更好的满足用户的需求。
|
2022-03-10 11:45:15 +00:00
|
|
|
|
|
2022-03-10 12:05:50 +00:00
|
|
|
|
当应用在实现基于设备位置的功能时,如:驾车导航,记录运动轨迹等,可以调用该模块的API接口,完成位置信息的获取
|
2022-03-10 11:45:15 +00:00
|
|
|
|
|
2022-03-10 12:05:50 +00:00
|
|
|
|
基本概念
|
2022-03-10 11:45:15 +00:00
|
|
|
|
|
2022-06-09 03:06:40 +00:00
|
|
|
|
位置能力用于确定用户设备在哪里,系统使用位置坐标标示用户设备的位置,并使用多种定位技术提供位置服务,如GNSS定位、基站定位、WLAN/蓝牙定位(基站定位、WLAN/蓝牙定位后续统称“网络定位技术”)。通过这些定位技术,无论用户设备在室内或是户外,都可以准确地确定用户设备的位置。
|
2022-03-10 11:45:15 +00:00
|
|
|
|
|
2022-03-10 12:05:50 +00:00
|
|
|
|
- **坐标**
|
2022-03-10 11:45:15 +00:00
|
|
|
|
|
2022-03-10 12:05:50 +00:00
|
|
|
|
系统以1984年世界大地坐标系统为参考,使用经度、纬度数据描述地球上的一个位置。
|
2022-03-10 11:45:15 +00:00
|
|
|
|
|
2022-03-10 12:05:50 +00:00
|
|
|
|
- **GNSS定位**
|
2022-03-10 11:45:15 +00:00
|
|
|
|
|
2022-03-10 12:05:50 +00:00
|
|
|
|
基于全球导航卫星系统,包含:GPS、GLONASS、北斗、Galileo等,通过导航卫星,设备芯片提供的定位算法,来确定设备准确位置。定位过程具体使用哪些定位系统,取决于用户设备的硬件能力。
|
|
|
|
|
|
|
|
|
|
- **基站定位**
|
|
|
|
|
|
|
|
|
|
根据设备当前驻网基站和相邻基站的位置,估算设备当前位置。此定位方式的定位结果精度相对较低,并且需要设备可以访问蜂窝网络。
|
|
|
|
|
|
|
|
|
|
- **WLAN、蓝牙定位**
|
|
|
|
|
|
|
|
|
|
根据设备可搜索到的周围WLAN、蓝牙设备位置,估算设备当前位置。此定位方式的定位结果精度依赖设备周围可见的固定WLAN、蓝牙设备的分布,密度较高时,精度也相较与基站定位方式更高,同时也需要设备可以访问网络。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
**图 1** **子系统架构图**<a name="fig4460722185514"></a>
|
|
|
|
|
|
|
|
|
|
![](figures/zh-1.png)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 目录<a name="section161941989596"></a>
|
|
|
|
|
|
|
|
|
|
```
|
2022-10-10 12:13:58 +00:00
|
|
|
|
/base/location # 源代码目录结构:
|
|
|
|
|
├── figures # 存放readme中的架构图
|
|
|
|
|
├── frameworks # 框架代码
|
|
|
|
|
├── interfaces # 对外接口
|
|
|
|
|
├── sa_profile # SA的配置文件
|
|
|
|
|
├── services # 定位服务各个SA代码目录
|
|
|
|
|
├── test # 测试代码目录
|
2022-03-10 12:05:50 +00:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 约束<a name="section119744591305"></a>
|
|
|
|
|
|
2022-06-09 03:06:40 +00:00
|
|
|
|
- 使用设备的位置能力,需要用户进行确认并主动开启位置开关。如果位置开关没有开启,系统不会向任何应用提供位置服务。
|
2022-03-10 12:05:50 +00:00
|
|
|
|
|
2022-06-09 03:06:40 +00:00
|
|
|
|
- 设备位置信息属于用户敏感数据,所以即使用户已经开启位置开关,应用在获取设备位置前仍需向用户申请位置访问权限。在用户确认允许后,系统才会向应用提供位置服务。
|
2022-03-10 12:05:50 +00:00
|
|
|
|
|
|
|
|
|
## 说明<a name="section1312121216216"></a>
|
|
|
|
|
|
|
|
|
|
### 接口说明<a name="section1551164914237"></a>
|
|
|
|
|
|
2022-10-10 12:13:58 +00:00
|
|
|
|
见如下文档:
|
|
|
|
|
https://gitee.com/openharmony/interface_sdk-js/blob/master/api/@ohos.geolocation.d.ts
|
|
|
|
|
|
2022-03-10 12:05:50 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 使用说明<a name="section129654513264"></a>
|
|
|
|
|
|
2022-10-10 12:13:58 +00:00
|
|
|
|
见如下文档:
|
|
|
|
|
https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-geolocation.md
|
|
|
|
|
|
2022-03-10 12:05:50 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 相关仓<a name="section1371113476307"></a>
|
|
|
|
|
|
|
|
|
|
位置服务子系统
|
|
|
|
|
|
|
|
|
|
base_location
|