news 2026/5/25 20:01:41

《第14讲:位置服务集成:获取 GPS 坐标》

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
《第14讲:位置服务集成:获取 GPS 坐标》

第14篇:位置服务集成:获取 GPS 坐标

# Flutter × 鸿蒙实战30讲(14):位置服务集成:获取 GPS 坐标 > 作者:烟云任平生 > 发布时间:2025年12月14日 > 标签:`#Flutter` `#OpenHarmony` `#定位` `#GPS` `#CSDN` --- ### 一、应用场景 - 地图展示 - 附近服务 - 轨迹记录 --- ### 二、权限申请 ```json { "requestPermissions": [ { "name": "ohos.permission.LOCATION" }, { "name": "ohos.permission.APPROXIMATELY_LOCATION" } ] } 三、ArkTS 获取位置 // locationBridge.ts import geoLocationManager from '@ohos.geoLocationManager'; export class LocationBridge { static async getCurrentLocation(): Promise<string> { return new Promise((resolve, reject) => { try { geoLocationManager.getCurrentLocation({ success: (location) => { resolve(JSON.stringify({ latitude: location.latitude, longitude: location.longitude, accuracy: location.accuracy })); }, fail: (err) => { reject(err.message); } }); } catch (e) { reject(e.message); } }); } } 四、注册到 WebView // MainPage.ets aboutToAppear() { this.controller.registerJavaScriptProxy({ object: { getLocation: async () => { try { return await LocationBridge.getCurrentLocation(); } catch (e) { return JSON.stringify({ error: e }); } } }, name: "LocationAPI", interface: ["getLocation"] }); } 五、Flutter 侧调用 Future<Map<String, dynamic>> getLocation() async { final bridge = html.window['LocationAPI']; final result = await bridge.callMethod('getLocation'); return jsonDecode(result as String); } // 使用 ElevatedButton( onPressed: () async { final loc = await getLocation(); if (loc['error'] == null) { print('Lat: ${loc['latitude']}, Lng: ${loc['longitude']}'); } }, child: Text('获取位置') ) 六、注意事项 首次调用会弹出 位置权限授权弹窗 模拟器位置固定,建议真机测试 可结合 geoLocationManager.on('locationChange') 实现持续定位 🔜 下一篇预告:《第15讲:蓝牙与 NFC:IoT 场景下的 Flutter 控制面板》 ✨ 定位能力打通,IoT 应用更进一步!
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/26 5:22:04

嵌入式设备(Xiaomi Mi Router AX3000T)刷入ImmortalWrt

1 前言 vmware安装istoreOS嵌入式软路由 vmware安装openwrt与immortalwrt 前两篇文章主要是在VMware中配置与安装&#xff0c;我们了解了不同系统的特点&#xff0c;由于在嵌入式设备中安装受硬件限制&#xff0c;所以我们可以选择openwrt与immortalwrt在路由器上安装使用。 本…

作者头像 李华
网站建设 2026/5/26 5:34:18

微软Microsoft Deployment Toolkit (MDT)排队刷机方案

脚本让Microsoft Deployment Toolkit (MDT)刷机流程在并发数达到5台时 暂停 ,并且每30秒检查一次是否有空余名额。 工作流程 1. 并发检查机制 通过读取日志文件中"1"的数量来判断当前并发数 当并发数达到5台时,新的刷机请求会被暂停 每30秒检查一次是否有空余…

作者头像 李华
网站建设 2026/5/25 15:57:39

谷歌语音合成新突破:让AI说话像真人一样自然流畅

这项由伊朗谢里夫理工大学的马赫塔费特拉特&#xff08;Mahta Fetrat&#xff09;、多尼亚纳瓦比&#xff08;Donya Navabi&#xff09;、扎赫拉德赫加尼安&#xff08;Zahra Dehghanian&#xff09;、莫尔特扎阿博尔加塞米&#xff08;Morteza Abolghasemi&#xff09;和哈米德…

作者头像 李华
网站建设 2026/5/26 5:16:14

上海创新学院EtCon框架:让AI大模型真正“记住“新知识的方法

这项由武汉大学李瑞林、上海创新学院王议斌以及复旦大学朱文鸿等多位研究者共同完成的研究&#xff0c;于2024年12月发表在arXiv预印本平台&#xff08;编号&#xff1a;arXiv:2512.04753v1&#xff09;&#xff0c;为解决大型语言模型知识更新的关键难题提供了突破性解决方案。…

作者头像 李华