geoLocationManager (位置服务)
介绍
这是一个完整位置服务测试应用程序,展示了如何使用 @kit.LocationKit 中的 geoLocationManager 模块来实现各种位置相关功能。
本示例用到了geoLocationManager相关功能@ohos.geoLocationManager (位置服务)
效果预览
| 主页 |
|---|
![]() |
功能概述
📍 核心位置服务
-
实时定位:获取当前设备位置信息
-
持续定位:订阅位置变化,实时更新位置
-
最后位置:获取上一次已知的位置信息
-
位置开关状态:监听和管理定位服务开关状态
🛰️ 卫星与信号
-
GNSS 卫星状态:订阅卫星数量、信号强度等信息
-
NMEA 数据:获取原始 GNSS NMEA 协议数据
-
Wi-Fi 定位:获取当前连接的 Wi-Fi BSSID 信息
-
蓝牙扫描:订阅蓝牙设备扫描结果用于定位
🗺️ 地理编码服务
-
地理编码:将地址描述转换为地理坐标
-
逆地理编码:将坐标转换为详细地址信息
-
国家码查询:获取当前所在国家/地区代码
⭕ 地理围栏功能
-
创建围栏:在指定位置设置圆形地理围栏
-
围栏事件:监听进入/离开围栏事件
-
围栏通知:围栏事件触发系统通知
-
围栏管理:移除已创建的围栏
权限要求
应用需要以下权限才能正常工作:
'ohos.permission.LOCATION',
'ohos.permission.APPROXIMATELY_LOCATION',
'ohos.permission.ACCESS_BLUETOOTH'
'ohos.permission.GET_NETWORK_INFO'
'ohos.permission.KEEP_BACKGROUND_RUNNING'
'ohos.permission.LOCATION_IN_BACKGROUND'
使用方法
1. 基础定位
-
确保定位权限已授权
-
点击定位图标获取当前位置
-
查看逆地理编码得到的地址信息
2. 持续定位
-
点击"开始定位"按钮启动持续定位
-
实时位置信息会显示在界面下方
-
点击"停止定位"结束位置更新
3. 地理围栏
-
先获取当前位置(创建围栏的中心点)
-
点击"地理围栏"图标创建围栏
-
设备进入/离开围栏区域时会收到系统通知
-
点击"移除围栏"删除围栏
4. 卫星与信号
-
开启卫星开关监听GNSS卫星状态
-
开启蓝牙开关进行蓝牙设备扫描
-
查看Wi-Fi信息获取定位辅助数据
注意事项
-
权限要求:应用需要位置相关权限,使用会弹出权限申请
-
设备要求:部分功能需要设备支持GNSS、蓝牙等硬件
-
电量消耗:持续定位和卫星监听会显著增加电量消耗
-
精度差异:不同环境下的定位精度会有差异
-
网络依赖:地理编码服务需要网络连接
-
编译事项:本示例需要手动添加标签后再编译,后续待标签合入后方可正常编译
