解决小程序wx.openLocation位置偏移的问题

2023-11-07

在这里插入图片描述

接口返回的经纬度是在合家欢公寓,而小程序的openLocation 地图实际却定位到了玖耀里,导致了将近1km的偏差

因为我是从第三方拿的经纬度位置,随后我又开始全网搜索找答案,有说 加 type:‘gcj02’ 的。经测试,这个仅对获取当前位置 getLocation生效,打开位置openLocation并不生效。后来猜想是百度经纬度与腾讯的有差异。随后搜了段代码,把传入经纬度转一下就OK了!

let x_pi = 3.14159265358979324 * 3000.0 / 180.0;
let x = longitude - 0.0065;
let y = latitude - 0.006;
let z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * x_pi);
let wz = Math.atan2(y, x) - 0.000003 * Math.cos(x * x_pi);
let lon = z * Math.cos(wz);
let lat = z * Math.sin(wz);
longitude=lon;
latitude=lat;

实例代码

methods:{
		getLocation(latitude,longitude,name){
				       let x_pi = 3.14159265358979324 * 3000.0 / 180.0;
				          let x = longitude - 0.0065;
				          let y = latitude - 0.006;
				          let z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * x_pi);
				          let wz = Math.atan2(y, x) - 0.000003 * Math.cos(x * x_pi);
				          let lon = z * Math.cos(wz);
				          let lat = z * Math.sin(wz);
						  // latitude = lat
						  // longitude = lon
						 console.log(lon,'longitude');
				        wx.openLocation({
				            latitude: lat,
				            longitude: lon,
							scale:15,
							name:name,
				            success: function () {
				                console.log('success');
				            },
							fail(e) {
				            	 console.log(e,'fail');
				            }
				        });
			},
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解决小程序wx.openLocation位置偏移的问题 的相关文章

随机推荐

  • oracle数据库中选择桌面类和服务器类的区别

    在以前的学习过程中 一直用到的都是sql server数据库 之后接触到了oracle数据库 在安装过程中 有两个选项 桌面类和服务器类 当时按照网上的安装步骤 选择了桌面类 后来公司里他们安装都是用的服务器类 后来查了查两者的区别 桌面类
  • 【MyBatis】resultMap和resultType的区别

    mybatis中resultMap和resultType的区别 mybatis中在查询进行select映射的时候 返回类型可以用resultType 也可以用resultMap resultType是直接表示返回类型的 而resultMap
  • 使用jira的sprint面板进行敏捷开发——scrum master笔记(待完善)

    一 jira中sprint面板的创建 这个很简单 键入jira后 顶栏处找 面板 查看全部面板 此时页面右上侧有 创建面板 的按钮 点击 选择 创建一个Scrum面板 根据提示填信息到完成即可 二 jira中sprint面板的配置 点击进入
  • 如何清除win7系统中的开机密码

    设置系统的开机密码是很正常的事情 当然 忘记开机密码也是常有的事情 下面的方法是通过PE盘清除win7的卡机密码 首先 看一下我的电脑是有密码的 有密码的机器 二 PE盘的准备 我用的pe是we 这是我用过的最良心的PE环境 关于PE的安装
  • java查找算法:二分查找(两种方式)

    二分查找算法思想 二分查找针对的是一个有序的数据集合也就是数组 这也成为了二分查找的一个重要局限性 查找思想有点类似分治思想 每次都通过跟区间的中间元素对比 将待查找的区间缩小为之前的一半 直到找到要查找的元素 或者区间被缩小为0 一 返回
  • Cocos Creator 3D 梦想再起航!

    在 Cocos 不算长的生命历程中 我们曾多次尝试给开发者带来 3D 游戏的开发能力 2014 年 我们的 3D 团队开辟了 Cocos2d x 对 3D 的支持 至今已孵化出莉莉丝的 剑与家园 腾讯的 乱世王者 这样的超级大作 同时 Co
  • Skywalking web页面空白问题解决

    问题描述 今天微服务报错想用链路id追踪这个服务的流向 发现skywalking页面空白 查看后台进程发现skywalking oap server服务掉了 重启还是不行 tail n500 skywalking oap server lo
  • Python实现飞机大战游戏(后附完整代码文件和素材)

    前言 自学Python的记录 不喜勿喷 本程序的代码是以B站黑马程序员的视频代码为基础 个人加以总结思考 写就的博文 纯属记录自己的学习历程 当初想到要用Python的pygame模块开发飞机大战游戏的时候 顿时就兴奋了 毕竟学以致用是最好
  • 网络自动化运维(NetDevOps)创作者推荐

    前言 随着NetDevOps技术登上了历史舞台 越来越多的从业者开始利用NetDevOps简化网络的运维 并进行了技术分享 将蛋糕越做越大 在这里 仅代表个人对这些无私奉献的网络 运维工程师们表达由衷的敬意 此外 我也想向大家推荐一些我认识
  • 【Java】POJO

    POJO Plain Ordinary Java Object 简单的Java对象 通指没有使用Entity Beans的普通java对象 可以把POJO作为支持业务逻辑的协助类 POJO实质上可理解为简单的实体类 顾名思义 POJO类的作
  • 深夜更新,C语言笔记整理

    C 语言笔记整理 C语言一经出现就以其功能丰富 表达能力强 灵活方便 应用面广等特点迅速在全世界普及和推广 C语言不但执行效率高而且可移植性好 可以用来开发应用软件 驱动 操作系统等 C语言也是其它众多高级语言的鼻祖语言 所以说学习C语言是
  • GLFW初体验

    GLFW初体验 GLFW 很遗憾 没有找到FW的确切含义 Wiki上没有 GLFW主页也没有 猜测F表示for W表示Window GLFW是干啥用的 一个轻量级的 开源的 跨平台的library 支持OpenGL及OpenGL ES 用来
  • Tengine/nginx配置https/ssl/443端口健康检查

    这里列出 nginx upstream check module 模块所支持的指令意思 Syntax check interval milliseconds fall count rise count timeout millisecond
  • k8s学习-CKS真题-ImagePolicyWebhook容器镜像扫描

    目录 题目 环境搭建 imagePolicyWebhook搭建 解题 任务二 任务三 任务一 检查 模拟考题 参考 题目 Context cluster上设置了容器镜像扫描器 但尚未完全集成到 cluster 的配置中 完成后 容器镜像扫描
  • 函数作业(2023.1.4)

    函数作业 1 计算数组中完数的个数 完数 除本身约数和等于本身 例如6 1 23 1 2 3 6 例如28 1 2 4 7 14 28 在该函数 void PerfectFun int arr int n 循环数组每一个值 在该函数 int
  • 【STM32仿真】STM32CubeMX+Keil+Proteus单片机仿真

    文章目录 一 软件介绍和下载安装 1 1 STM32CubeMX介绍 1 2 Proteus介绍 二 创建第一个项目 2 1 STM32CubeMX生成代码 2 2 keil5 生成可执行文件 2 3 Proteus 搭建简单电路 三 按键
  • 【雕爷学编程】Arduino动手做(06)---KY-038声音传感器模块2

    37款传感器与执行器的提法 在网络上广泛流传 其实Arduino能够兼容的传感器模块肯定是不止这37种的 鉴于本人手头积累了一些传感器和执行器模块 依照实践出真知 一定要动手做 的理念 以学习和交流为目的 这里准备逐一动手尝试系列实验 不管
  • 【华为OD机试】垃圾短信识别(python, java, c++, js)

    垃圾短信识别 前言 本专栏将持续更新华为OD机试题目 并进行详细的分析与解答 包含完整的代码实现 希望可以帮助到正在努力的你 关于OD机试流程 面经 面试指导等 如有任何疑问 欢迎联系我 wechat steven moda email n
  • vue.js中created方法作用

    这是它的一个生命周期钩子函数 就是一个vue实例被生成后调用这个函数 一个vue实例被生成后还要绑定到某个html元素上 之后还要进行编译 然后再插入到document中 每一个阶段都会有一个钩子函数 方便开发者在不同阶段处理不同逻辑 一般
  • 解决小程序wx.openLocation位置偏移的问题

    接口返回的经纬度是在合家欢公寓 而小程序的openLocation 地图实际却定位到了玖耀里 导致了将近1km的偏差 因为我是从第三方拿的经纬度位置 随后我又开始全网搜索找答案 有说 加 type gcj02 的 经测试 这个仅对获取当前位