收藏
回答

getLoaction返回经纬度精度问题

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug getLocation 工具 6.7.3 2.3.0

目前我的小程序需要实现一个上班打卡签到定位的问题。


使用的是getLoaction获取经纬度,通过腾讯地图的小程序的SDK进行逆地址解析的。


但是目前定位getLoaction返回的 latitude longitude 的值精度为小数点后 4位 5位 的样子


实际的精准定位需要精确到10位左右


之前也有类似的人反馈过,但是没有回复,希望官网能够提供一个解决方案

最后一次编辑于  2018-10-10  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

6 个回答

  • wujie
    wujie
    2018-11-12

    如果定位点偏移的话,不用到小数点后5位,前面3、4位开始就偏移了

    国内getLocation需要用gcj02...

    2018-11-12
    赞同 1
    回复 1
    • 冬衣
      冬衣
      07-21
      必须给你一个攒,确实是用gcj02,但是我一直不知道这个type是什么东西
      07-21
      回复
  • 老张
    老张
    2018-10-11

    iOS是精度的,安卓的不精准,但是其实也够用吧,你们什么服务需要这么高的精度?

    2018-10-11
    赞同 1
    回复 9
    • 简单◎life℡
      简单◎life℡
      2018-10-11

      倒也不是,有些客户那边会有比较大的偏差。

      可以方便请教一下,你这边是通过什么SDK进行定位的吗,是不是经纬度的逆地址解析

      2018-10-11
      回复
    • 老张
      老张
      2018-10-11回复简单◎life℡

      点我头像,我们全是基于定位的小程序。

      完全没有用过任何第三方的地图SDK,基本的位置功能都没什么问题。


      2018-10-11
      回复
    • 简单◎life℡
      简单◎life℡
      2018-10-11回复老张

      使用了一下你的 小考勤 ,你是如何判断我设定的考勤点和我的位置之间的距离的呢,经纬度进行判断的吗

      2018-10-11
      回复
    • 老张
      老张
      2018-10-11回复简单◎life℡

      给定两个点的坐标,就能算出之间的距离吧。小考勤中的距离算法用到了两种:

      1、我们后台用的是MongoDB,有现成的GeoNear,非常方便地可以按距离排序。

      2、计算两个GEO的距离,可以有三种算法:

          a: 球面算法(用于长距离)

          b: 直线算法(用于近距离)

          c: math.abs(经度差) AND math.abs(纬度差)

      我们基本是用的C就够了,本身考勤就没那么要求高,设定的是200米内可以考勤,难道210米不行吗?没有去叫这3米两米的真。

      2018-10-11
      回复
    • 简单◎life℡
      简单◎life℡
      2018-10-11回复老张

      感谢回复,明白了

      2018-10-11
      回复
    查看更多(4)
  • 🌊
    🌊
    2018-10-11

    我这边做地图也是定位精度不准确大概误差在500米左右,后来用了第三方地图api接进来的,很准

    2018-10-11
    赞同
    回复 3
    • LYAO
      LYAO
      2018-10-12

      用的哪个第三方?

      2018-10-12
      回复
    • 翰锅锅
      翰锅锅
      2018-10-12回复LYAO

      我接的腾讯地图api 逆解析,还听准确的

      2018-10-12
      回复
    • LYAO
      LYAO
      2018-10-12回复翰锅锅

      我也是腾讯地图的逆解析,只是用getLoaction返回的经纬度不是很准,有时甚至无法获取到经纬度

      2018-10-12
      回复
  • Alan
    Alan
    2018-10-11

    上班打卡签到你可以走Wi-Fi的相关接口啊,为啥纠结于gps,而且室内gps误差本来就很大

    2018-10-11
    赞同
    回复 3
    • 简单◎life℡
      简单◎life℡
      2018-10-11


      很明显在打卡的过程中,没法满足wifi的条件

      2018-10-11
      回复
    • Alan
      Alan
      2018-10-12回复简单◎life℡

      不是很明白你的意思。小程序里,ios中扫描当前连接的Wi-Fi,如果是公司的就打卡成功。android的话只要扫描到公司wifi就打卡成功。钉钉的Wi-Fi打卡逻辑差不多就是这样的吧

      2018-10-12
      回复
    • 简单◎life℡
      简单◎life℡
      2018-10-12回复Alan

      因为客户的特殊原因,可能没有合适的wifi作为标准,就是没有wifi让我定位....

      2018-10-12
      回复
  • 在路上
    在路上
    2018-10-10

    兄弟,在赤道上1度约为100000米,小数点后五位精读就是1米,当前Gps误差一般在10米,你要小数点后10位是要在鸡蛋上定位画图吗?

    2018-10-10
    赞同
    回复 2
    • loethen
      loethen
      2018-10-11

      哈哈,莫名戳中笑点

      2018-10-11
      回复
    • 简单◎life℡
      简单◎life℡
      2018-10-11

      道理我都懂,就是定位还是不准,或许是设备或许是其他原因....

      而且下面这种就是做到了这种级别的定位


      2018-10-11
      回复
  • 邓坤力
    邓坤力
    2018-10-10

    精度不确定,取决于网络和设备情况

    2018-10-10
    赞同
    回复 4
    • 简单◎life℡
      简单◎life℡
      2018-10-10

      我这边定位信息时准的情况下,返回的精度依旧是5位。

      难道精度没办法取到10位吗


      2018-10-10
      回复
    • 在路上
      在路上
      2018-10-11

      道理就是,超过小数点以后5位的数再多都是没有意义的并提高不了精读

      2018-10-11
      回复
    • 在路上
      在路上
      2018-10-11回复简单◎life℡

      就和毫米尺的读数估读到毫米后一位小数一样,再多位数的估读都是扯淡,没有意义

      2018-10-11
      回复
    • 在路上
      在路上
      2018-10-11

      要想提高精度,我的建议是,尽量在室外或靠近窗户的位置,然后在手机设置中取消基站定位,只采取GPS定位,这样定位速度可能稍微慢一些,但是精度应该会提高。误差超过50米一般是因为GPS信号弱,无法进行卫星定位,所以采取的基站模拟定位,这样实际定位的是基站的位置,并不是手机自身位置,所以跑偏的会比较多。

      2018-10-11
      回复