解决 uniapp uni.getLocation 定位经纬度不准问题

【问题描述】

直接使用uni.getLocation获取经纬度不准确,有几百米的偏移。

【解决办法】

加偏移量

 //加偏移
let x = longitude
let y = latitude
let x_pi = (3.14159265358979324 * 3000.0) / 180.0
let z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * x_pi)
let theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * x_pi)
let lngs = z * Math.cos(theta) + 0.0065
let lats = z * Math.sin(theta) + 0.006
console.log('加偏移经度:' + lngs + ',加偏移纬度:' + lats);
//加偏移结束

完整代码

/**
* 获取经纬度*/
getLocation(){var that =this;uni.getLocation({isHighAccuracy: true, // 开启地图精准定位type: 'gcj02', // 坐标系类型success: function (res) {var latitude = res.latitude; // 维度var longitude = res.longitude; // 经度console.log('经度:' + longitude + ',纬度:' + latitude);// that.form.LATITUDE = latitude;// that.form.LONGITUDE = longitude;//加偏移let x = longitudelet y = latitudelet x_pi = (3.14159265358979324 * 3000.0) / 180.0let z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * x_pi)let theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * x_pi)let lngs = z * Math.cos(theta) + 0.0065let lats = z * Math.sin(theta) + 0.006console.log('加偏移后经度:' + lngs + ',加偏移纬度:' + lats);//加偏移结束console.log('当前位置的经度:' + lngs);console.log('当前位置的纬度:' + lats);console.log('当前速度:' + res.speed + '米/秒');},fail: function (res) {console.log('获取定位失败:' + res.errMsg);}});
},


 

【参考文档】

uniapp 定位:

uni.getLocation(OBJECT) | uni-app官网

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

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

相关文章

信息系统项目管理师0067:数据建模(5信息系统工程—5.2数据工程—5.2.1数据建模)

点击查看专栏目录 文章目录 5.2数据工程5.2.1数据建模1.数据模型2.数据建模过程记忆要点总结5.2数据工程 数据工程是信息系统的基础工程。围绕数据的生命周期,规范数据从产生到应用的全过程,目标是为信息系统的运行提供可靠的数据保障和服务,为信息系统之间的数据共享提供安…

开发语言漫谈-ABAP

大多数程序员可能都没有听说过这门语言。ABAP是SAP公司专门用于SAP软件环境的专门语言。这么多专门就能知道这门语言邻域有多么狭窄。这门语言过去据称是一条闷声挣大钱的好途径,非常不卷,简直躺赢的好事。这么说也没毛病,关键在SAP的业务能有…

【OceanBase诊断调优 】—— 索引调优

作者简介: 花名:萧峯,OceanBase 技术专家。 之前零零散散地接触过一些 OceanBase SQL 性能调优的内容,但是没有系统性地进行学习,这两天学习了一个 SQL 性能调优的视频,算是亡羊补牢 温故知新。其中调优相…

图像处理的基本操作

一、PyCharm中安装OpenCV模块 二、读取图像 1、基本语法 OpenCV提供了用于读取图像的imread()方法,其语法如下: image cv2.imread(filename,flags) (1)image:是imread方法的返回…

【服务器部署篇】Linux下Tomcat安装和配置

作者介绍:本人笔名姑苏老陈,从事JAVA开发工作十多年了,带过刚毕业的实习生,也带过技术团队。最近有个朋友的表弟,马上要大学毕业了,想从事JAVA开发工作,但不知道从何处入手。于是,产…

【C++题解】1302. 是否适合晨练?

问题:1302. 是否适合晨练? 类型:分支 题目描述: 夏天到了,气温太高,小明的爷爷每天有晨练的习惯,但有时候温度不适合晨练;小明想编写一个程序,帮助爷爷判断温度是否适合…

MyBatis入门学习一(引入配置、体验CURD)

目录 1、MyBatis概述 1.1 MyBatis简介 1.2 MyBatis架构 1.3 MyBatis执行流程 1.4 与Hibernate的比较 2、MyBatis初体验 2.1 创建并配置项目 2.2 创建数据库表 2.3 引入MyBatis及其配置 2.3.1 MyBatis引入及配置 2.3.2 Log4j引入及配置 2.4 测试 2.4.1 编写测试类 …

C语言之回调函数+可变参数__VA_ARGS__:用法实例(四十八)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

【linux】进程地址被占用

在强制关闭一个udp程序后,重启该程序报错: bind error: Address already in use 查找并关闭占用端口的进程: 首先,确定哪个进程占用了目标端口。在Linux系统中,可以使用以下命令: netstat -tulnp | grep …

构建未来:利用服务器打造个性化创意项目和在线社区

在这个数字化快速发展的时代,服务器不仅仅是大型企业的专属。个人和小型团队也可以利用服务器的强大能力,开展各种创意项目和建立在线社区。这种趋势不仅推动了技术的民主化,还为个人提供了展示创意和构建影响力的新平台。本文将探讨如何利用…

【Linux网络】FTP服务

目录 一、FTP简介 1.FTP-文件传输协议 2.FTP的两种模式 二、安装配置FTP 1.安装环境 2.对文件的操作 3.切换目录 4.设置匿名用户 5.图形化界面登录 6.白名单与黑名单 重点与难点 一、FTP简介 1.FTP-文件传输协议 FTP是FileTransferProtocol(文件传输协…

css中设置元素大小的属性block-size

block-size 是 CSS 中的一个属性,它用于设置元素的块级尺寸(即元素的高度)。这个属性是 height 和 max-height 的逻辑组合,允许你同时设置元素的最小和最大高度。 这些属性旨在让布局不再依赖于传统的物理方向(如上下左…

如何调节电脑屏幕亮度?让你的眼睛更舒适!

电脑屏幕亮度的调节对于我们的视力保护和使用舒适度至关重要。不同的环境和使用习惯可能需要不同的亮度设置。可是如何调节电脑屏幕亮度呢?本文将介绍三种不同的电脑屏幕亮度调节方法,帮助您轻松调节电脑屏幕亮度,以满足您的需求。 方法1&…

hbase 集成 phoenix 实现 sql 化

1. 依赖 hbase > hbase 集群搭建 2. 下载安装包 点击下载 ps:该网页在内网可能打不开,遇到该情况有条件的可以打开 VPN 在下载 3. 上传解压 使用工具将安装包上传的服务器上 笔者这里选择 上传到 /opt/software 目录,解压到 /opt/mo…

spring security登录认证授权

spring security登录认证授权 是什么 Spring Security 主要实现了Authentication(认证,解决who are you? ) 和 Access Control(访问控制,也就是what are you allowed to do?,也称为Authorizat…

C语言扫雷游戏完整实现(下)

文章目录 前言一、排雷函数菜单二、排雷函数菜单的实现三、拓展棋盘功能四、源码1. test.c源文件2. game.h头文件3. game.c源文件 总结 前言 C语言实现扫雷游戏的排雷菜单,以及功能的实现,拓展棋盘功能,以及源码等。 上半部分的链接地址: C语…

python 笔记ast.literal_eval

1 介绍 ast.literal_eval 是 Python 标准库 ast 模块中的一个函数,用于安全地评估表示 Python 字面量或容器(如列表、字典、元组、集合)的字符串 import ast # 解析并执行一个数字表达式 num ast.literal_eval("3.14") prin…

新媒体运营-----短视频运营-----PR视频剪辑----软件基础

新媒体运营-----短视频运营-----PR视频剪辑-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/138079659 文章目录 1.1 PR软件重置与初始化设置1.2 新建项目及序列设置1.3 PR工作区的管理方法1.4 导入4K超高清视频并与ME配合工作1…

在使用Dubbo时,如何高效地进行网络通信?有哪些优化策略?

在使用Dubbo时,如何高效地进行网络通信及其优化策略 在当前的分布式系统架构中,微服务已经成为了一种主流的设计模式,而RPC(远程过程调用)则是微服务之间通信的基石。Apache Dubbo作为一款高性能、轻量级的开源Java R…

远程监控与控制的融合:吊车远程视频监控与远程开机的实现

随着信息技术的飞速发展,远程控制技术已经广泛应用于各个领域,包括工业、医疗、教育等。吊车远程视频监控作为远程控制的一种具体应用,不仅实现了对吊车操作的实时监控,还通过与远程开机功能的结合,进一步提升了远程控…