HBuilder X 模拟位置使用的是什么坐标系【腾讯地图-火星坐标系】- 分析排查思路

HBuilder X 模拟位置使用的是什么坐标系【腾讯地图-火星坐标系】- 分析排查思路

结论:腾讯地图 火星坐标系

  • 29.553221,106.554397(腾讯地图上找的一个参考坐标,实际位置 ↓)
  • POI名称:重庆市人民医院(三院院区),地址:重庆市渝中区枇杷山正街104号
    • 如果是这两个中的任意一个,就都是对的(在附近很近,则是位置有轻微偏移)

似乎 uniapp 获取的是宿主环境的位置信息,宿主环境上有缓存他获取到的就有缓存
宿主环境的位置信息如何重新获取暂不清楚,可能需要触发获取位置的操作才会更新位置信息

  • (2024.10.23 补充:↓ 下面的结论为模糊印象推测,遇到一样问题的朋友可以参考下,看看能不能帮到你)
  • 微信打开 uniapp h5,拿到的就是微信的位置信息
    • 印象中缓存较为严重,可以试试聊天窗口发送位置,看看能不能触发位置更新,从而拿到最新的位置信息
  • 企业微信打开 uniapp h5,拿到的就是企业微信的位置信息
    • 印象中缓存较为严重,可以试试聊天窗口发送位置,看看能不能触发位置更新,从而拿到最新的位置信息
  • 手机浏览器打开,拿到的就是浏览器的位置信息
    • 似乎浏览器位置的缓存情况不严重
  • 据公司同事多人手机实测,uni.getLocation 方法获取到的坐标都大有不同,只有一个同事的是准的(位置信息还与手机机型、定位芯片、系统隐私设置是否返回模糊位置相关)

地图取点,转成 wgs84 坐标,放到 HBuilder X 模拟坐标

查看代码获取的 84 坐标

转成 gcj02 坐标

用 gcj02 坐标通过腾讯地图位置服务获取地址,比对地址是否一致


如若不对,自己找转换方法进行验证

  • 猜测是代码里的坐标系转换方法有问题

试试改成 gcj02 的坐标,看看有没有问题



分析排查情况记录

给 HBuilder X 内置浏览器填入的火星坐标系坐标,type gcj02 获取到的坐标不对(估计偏了几公里)

  1. 29.550363
  2. 106.558109


给 HBuilder X 内置浏览器填入的火星坐标系坐标,type wgs84 获取到的坐标是一样的 => 29.553221,106.554397

  • 但是转换成火星坐标系后定位出来是错的
    • 29.550363,106.558109
    • 渝中区菜园坝中化石油南区路加油站东(长江滨江路)
      • 重庆市渝中区长滨路317-2号


给 HBuilder X 内置浏览器填入的 wgs84坐标系坐标,type wgs84 获取到的坐标是一样的 => 29.556066764160157,106.55068148486328

  • 转换成火星坐标系后,定位出来的是对的
    • 29.553216643967726,106.55439987347071
    • 重庆市人民医院(三院院区)
      • 重庆市渝中区枇杷山正街104号


根据当前定位坐标获取地址中文信息功能 开发思路

  1. 腾讯地图 坐标取点(gcj02 坐标系)
  2. 使用在线坐标转换工具 (转成 wgs84 坐标)
  3. HBuilder X 内置浏览器模拟坐标(wgs84 的坐标放进去)

(模拟坐标 ↑(手动操作),获取坐标转换地址 ↓(代码解析))

  1. uni.getLocation type: “wgs84” 获取坐标(wgs84 坐标,拿到的就是前面模拟的坐标)
  2. js 代码将 wgs84 坐标转换为 gcj02 坐标
  3. 腾讯地图逆地址解析 api 获取地址中文名
    对比地址一致,则功能无问题

相关网站、工具

请添加图片描述

请添加图片描述

请添加图片描述



uni.getLocation+腾讯地图获取位置信息(uniapp)_uniapp getlocation-CSDN博客

  • 【荐】跟目前系统里的用法一样,含详细配置操作

坐标拾取器 | 高德地图API (amap.com)




------------- END 许愿区 -------------

最近想换工作,有没有大佬捞一下

本人5年前端开发工作经验,函授本科学历,软件工程专业毕业,在校有专业竞赛经历并获奖
会做大屏驾驶舱、PC端业务系统、移动端H5应用、uniapp 多端应用开发、原生微信小程序开发
意向城市成都、重庆,川渝两省范围优先考虑
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RealizeInnerSelf丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值