uni-app实现网络离线定位

熟悉的朋友知道我最近一段时间在搞安卓方面的内容,使用uni-app开发的这段时间总算是体会到了网上兄弟们的心声。

怎么说呢?难以言喻

想要无能狂怒的叱骂,却又不得不默默的翻看API文档一点点的摸索,找到解决之路的那一刻,不亚于我买双色球中五块钱大奖的那天心情。

最近需要用uni-app实现一下定位的问题,其实就是获取经纬度,然后通过 MQTT 发送到服务器上。(关于MQTT部分详见上文 # uni-app实现本地MQTT连接)

接到这个需求的时候感觉非常简单,因为 uni-app 本身就有定位的API。

js

体验AI代码助手

代码解读

复制代码

uni.getLocation({ type: 'wgs84', success: function (res) { console.log('当前位置的经度:' + res.longitude); console.log('当前位置的纬度:' + res.latitude); } });

一段代码搞定问题,但是,项目那边突然传来消息说:定位不到

我这边使用Trae紧急排查,但是却没发现任何问题,Trae也表示系统运行非常稳定。

但是项目现场就是反馈定位不到,一下午的时间Trae建议我排查了设备本身、安卓版本、代码语法、打包过程等等。经过一下午的排查终于确定了原因是"没联网"。

气得我当场怒骂...

现在需求确定清楚了:离线定位

这里需要注意一点,虽然设备不接入网络,但事实定位本身是依赖于接收卫星信号。也就是说,没网可以,但是设备必须有GPS定位模块,否则是无法实现定位的。

首先在manifest.json文件中找到modules,在下面添加Geolocation启用定位模块。

同时在distribute / android / permissions权限部分增加定位权限部分。

还需要在 SDK 配置部分增加定位内容。

js

体验AI代码助手

代码解读

复制代码

"modules" : { "Geolocation" : {} // 启用定位模块 }, /* 应用发布信息 */ "distribute" : { /* android打包配置 */ "android" : { "permissions" : [ ... "<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>", "<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>" ] }, }, /* SDK配置 */ "sdkConfigs" : { "geolocation" : { "system" : { "__platform__" : [ "android" ] } } }

我在网上找到的方案是仍然使用 uni-app 的getLocation方法,将请求方式改为gcj02的方式。

js

体验AI代码助手

代码解读

复制代码

uni.getLocation({ type: 'gcj02', success: function (res) { console.log('当前位置的经度:' + res.longitude); console.log('当前位置的纬度:' + res.latitude); } });

但是不知道为什么在我这个终端上这个写法并没有获取到定位信息,甚至代码都不走,多方排查也没有发现问题出在哪儿,遂放弃此方案。

Trae的建议下改为使用html+的定位方案。

js

体验AI代码助手

代码解读

复制代码

testGetLocation() { let that = this; // #ifdef APP-PLUS plus.geolocation.getCurrentPosition( (position) => { console.log('【定位成功】', position); that.location = { latitude: position.coords.latitude, longitude: position.coords.longitude }; }, (error) => { console.log('【定位失败】', error); let msg = '定位失败'; switch (error.code) { case 1: msg = '用户拒绝定位授权'; break; case 2: msg = 'GPS 功能未开启'; break; case 3: msg = '响应超时'; break; default: msg = '未知错误'; } }, { provider: 'gps', // 强制使用 GPS 定位 timeout: 30000, // 最大30秒超时 highAccuracy: true, // 启用高精度模式 maximumAge: 0 // 不使用缓存位置 } ); // #endif },

采用这个方案成功获取到了定位信息,但是需要注意两个点:

  1. 必须获得用户授权,尤其是在高版本安卓系统中。(本人采用的是安卓11及以下的设备)
  2. 设备尽量在户外使用(GPS定位在室内很容易定位不到)

授权部分可以参考如下方法:

js

体验AI代码助手

代码解读

复制代码

getLocationSafely(onSuccess, onError) { let that = this; plus.geolocation.getCurrentPosition( () => {}, (e) => { if (e.code === 4) { // 位置服务未开启 uni.showModal({ title: '定位服务未开启', content: '请前往系统设置开启位置信息,才能获取当前位置', showCancel: true, confirmText: '去设置', success: (res) => { if (res.confirm) { // 跳转到系统设置 plus.runtime.openURL('package:com.android.settings'); } } }); onError?.(new Error('系统定位未开启')); return; } }, { // 3秒超时 timeout: 3000 } ); },

还需要注意的一个点是如果采用自定义基座,一定要记得将定位模块云打包到基座中,否则也是无法定位的。


原文:https://juejin.cn/post/7593892837898747919

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1149355.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI MiDaS指南:处理低光照图像的深度估计

AI MiDaS指南&#xff1a;处理低光照图像的深度估计 1. 引言&#xff1a;单目深度估计在复杂场景中的挑战与突破 随着计算机视觉技术的不断演进&#xff0c;单目深度估计&#xff08;Monocular Depth Estimation&#xff09;正成为3D感知领域的重要基石。与依赖双目摄像头或激…

行业热点 | 眼见不为实:警惕突发事件中的 AI 图像与误导信息

简介&#xff1a;在突发事件爆发时&#xff0c;社交媒体往往瞬间被海量的图片和视频淹没。然而&#xff0c;在涉及美国与委内瑞拉军事行动的报道出现后&#xff0c;许多广为流传的“现场画面”实为AI伪造。这一现象揭示了一个严峻的新现实&#xff1a;高级AI工具已能近乎实时地…

AI分类器从入门到放弃?不,是入门到精通!

AI分类器从入门到放弃&#xff1f;不&#xff0c;是入门到精通&#xff01; 1. 为什么你总是失败&#xff1a;新手常见误区 很多初学者在尝试搭建AI分类器时&#xff0c;常常会遇到各种挫折。根据我的经验&#xff0c;90%的失败案例都源于以下几个原因&#xff1a; 硬件配置…

# Flutter Provider 状态管理完全指南

一、Provider 概述Provider 是 Flutter 官方推荐的状态管理库&#xff0c;它基于 InheritedWidget 实现&#xff0c;通过依赖注入的方式在 Widget 树中高效地共享和管理状态。Provider 的核心优势在于其简单性和高效性——它只在状态变更时重建依赖该状态的 Widget&#xff0c;…

少样本迁移分类实战:预训练模型+云端微调

少样本迁移分类实战&#xff1a;预训练模型云端微调 1. 引言&#xff1a;小数据也能玩转AI分类 作为一名小语种NLP研究者&#xff0c;你是否经常遇到这样的困境&#xff1a;手头只有几百条标注数据&#xff0c;传统机器学习方法效果惨不忍睹&#xff1f;别担心&#xff0c;迁…

支持REST API的中文NER服务|AI智能实体侦测镜像推荐

支持REST API的中文NER服务&#xff5c;AI智能实体侦测镜像推荐 1. 背景与需求&#xff1a;从非结构化文本中提取关键信息 在当今信息爆炸的时代&#xff0c;企业、媒体和科研机构每天都在处理海量的非结构化文本数据——新闻报道、社交媒体评论、客户反馈、法律文书等。这些…

数字类型的奥秘:数字类型的深度解析

目录 整数类型&#xff08;int&#xff09;&#xff1a;精确计数的基石 浮点数类型&#xff08;float&#xff09;&#xff1a;科学计算的利器 其他数字类型&#xff1a;满足多样需求 长整数类型&#xff08;long&#xff09; 复数类型&#xff08;complex&#xff09; 十进…

AI分类器新手指南:从理论到实践,云端GPU 1小时全搞定

AI分类器新手指南&#xff1a;从理论到实践&#xff0c;云端GPU 1小时全搞定 引言&#xff1a;为什么你需要AI分类器&#xff1f; 想象一下&#xff0c;你是一位刚转行AI的销售&#xff0c;看到招聘要求上写着"熟悉分类器原理与实践"&#xff0c;却不知道从何入手。…

ASTM F1140标准解读:医疗器械初包装抗内压破坏测试要点

一、标准核心内容介绍ASTM F1140/F1140M-13&#xff08;2020年重新批准&#xff09;是依据世界贸易组织技术性贸易壁垒&#xff08;TBT&#xff09;委员会相关原则制定的国际标准&#xff0c;专门针对无约束包装的抗内压破坏性能制定测试方法。该标准的适用范围覆盖各类包装&am…

从本地化到国际化|腾讯HY-MT1.5助力企业级翻译落地

从本地化到国际化&#xff5c;腾讯HY-MT1.5助力企业级翻译落地 随着全球化进程的加速&#xff0c;企业在拓展国际市场时面临日益增长的多语言内容处理需求。传统的机器翻译服务虽然广泛可用&#xff0c;但在术语一致性、上下文理解与格式保留等方面仍存在明显短板。腾讯混元团…

MiDaS应用案例:智能家居中的手势识别系统

MiDaS应用案例&#xff1a;智能家居中的手势识别系统 1. 引言&#xff1a;从单目深度估计到智能交互 1.1 技术背景与行业痛点 在智能家居场景中&#xff0c;用户期望通过更自然、非接触的方式与设备进行交互。传统的语音控制和物理按键已无法满足对“无感化”智能体验的追求…

零代码玩转AI分类:这些云端工具让你事半功倍

零代码玩转AI分类&#xff1a;这些云端工具让你事半功倍 引言&#xff1a;当业务需求遇上技术排期 作为业务主管&#xff0c;你是否遇到过这样的困境&#xff1a;市场调研收集了上千份问卷&#xff0c;急需分析用户反馈&#xff0c;但IT部门排期已经排到三个月后&#xff1f;…

如何快速实现中文命名实体识别?试试AI智能实体侦测服务

如何快速实现中文命名实体识别&#xff1f;试试AI智能实体侦测服务 1. 引言&#xff1a;为什么需要高效的中文NER工具&#xff1f; 在当今信息爆炸的时代&#xff0c;非结构化文本数据&#xff08;如新闻、社交媒体、文档&#xff09;占据了数据总量的80%以上。如何从这些杂乱…

从零部署腾讯混元翻译模型|HY-MT1.5-7B镜像一键启动方案

从零部署腾讯混元翻译模型&#xff5c;HY-MT1.5-7B镜像一键启动方案 1. 引言&#xff1a;为什么需要本地化部署的翻译大模型&#xff1f; 在全球化业务快速发展的背景下&#xff0c;高质量、低延迟的机器翻译能力已成为企业出海、内容本地化和跨语言协作的核心基础设施。尽管…

英文文献检索网站有哪些 常用平台及使用指南

盯着满屏的PDF&#xff0c;眼前的外语字母开始跳舞&#xff0c;脑子里只剩下“我是谁、我在哪、这到底在说什么”的哲学三问&#xff0c;隔壁实验室的师兄已经用AI工具做完了一周的文献调研。 你也许已经发现&#xff0c;打开Google Scholar直接开搜的“原始人”模式&#xff…

MiDaS模型性能测试:CPU推理速度

MiDaS模型性能测试&#xff1a;CPU推理速度 1. 引言&#xff1a;AI 单目深度估计的现实价值 在计算机视觉领域&#xff0c;从单张2D图像中恢复3D空间结构一直是极具挑战性的任务。传统方法依赖多视角几何或激光雷达等硬件支持&#xff0c;成本高且部署复杂。而近年来&#xf…

AI MiDaS指南:处理高动态范围图像

AI MiDaS指南&#xff1a;处理高动态范围图像 1. 引言&#xff1a;AI 单目深度估计的现实意义 在计算机视觉领域&#xff0c;从二维图像中恢复三维空间结构一直是核心挑战之一。传统方法依赖双目立体视觉或多传感器融合&#xff0c;但这些方案成本高、部署复杂。近年来&#…

无需编码的中文NER方案|AI智能实体侦测服务一键部署

无需编码的中文NER方案&#xff5c;AI智能实体侦测服务一键部署 1. 引言&#xff1a;命名实体识别&#xff08;NER&#xff09;的现实挑战 在当今信息爆炸的时代&#xff0c;非结构化文本数据占据了企业与科研机构数据总量的80%以上。新闻报道、社交媒体、客服对话、合同文档…

单目深度估计技术解析:MiDaS的核心算法

单目深度估计技术解析&#xff1a;MiDaS的核心算法 1. 引言&#xff1a;从2D图像到3D空间感知的跨越 在计算机视觉领域&#xff0c;如何让机器“理解”真实世界的三维结构一直是一个核心挑战。传统方法依赖双目立体视觉或多传感器融合&#xff08;如LiDAR&#xff09;&#x…

基于MiDaS的3D感知:配置与使用

基于MiDaS的3D感知&#xff1a;配置与使用 1. 技术背景与应用价值 在计算机视觉领域&#xff0c;从单张2D图像中恢复三维空间结构一直是极具挑战性的任务。传统方法依赖多视角几何或激光雷达等硬件设备&#xff0c;成本高且部署复杂。近年来&#xff0c;随着深度学习的发展&a…