码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 解决 uniapp uni.getLocation 定位经纬度不准问题


    【问题描述】

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

    【解决办法】

    加偏移量

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

    完整代码

    1. /**
    2. * 获取经纬度
    3. */
    4. getLocation(){
    5. var that =this;
    6. uni.getLocation({
    7. isHighAccuracy: true, // 开启地图精准定位
    8. type: 'gcj02', // 坐标系类型
    9. success: function (res) {
    10. var latitude = res.latitude; // 维度
    11. var longitude = res.longitude; // 经度
    12. console.log('经度:' + longitude + ',纬度:' + latitude);
    13. // that.form.LATITUDE = latitude;
    14. // that.form.LONGITUDE = longitude;
    15. //加偏移
    16. let x = longitude
    17. let y = latitude
    18. let x_pi = (3.14159265358979324 * 3000.0) / 180.0
    19. let z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * x_pi)
    20. let theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * x_pi)
    21. let lngs = z * Math.cos(theta) + 0.0065
    22. let lats = z * Math.sin(theta) + 0.006
    23. console.log('加偏移后经度:' + lngs + ',加偏移纬度:' + lats);
    24. //加偏移结束
    25. console.log('当前位置的经度:' + lngs);
    26. console.log('当前位置的纬度:' + lats);
    27. console.log('当前速度:' + res.speed + '米/秒');
    28. },
    29. fail: function (res) {
    30. console.log('获取定位失败:' + res.errMsg);
    31. }
    32. });
    33. },


     

    【参考文档】

    uniapp 定位:

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

  • 相关阅读:
    数学建模笔记(三)论文写作:论文排版
    oracle高级—事务和锁
    Java中JRE指什么呢?
    Docker 使用 IDEA 内置插件构建上传镜像 与 SSH、FTP 功能使用
    00-MySQL数据库的使用-上
    Vue---$nextTick、$set、$ref、$event、$bus详细理解
    React 全栈体系(十一)
    ThreadLocal线程变量
    怎么换证件照底色?分享两款好用的免费制作证件照的软件
    CSS 预处理器的 13 种风格
  • 原文地址:https://blog.csdn.net/u013302168/article/details/138163291
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号