收藏
回答

微信H5的 jsapi调用 手机定位的精度问题?

 wx.getLocation({
  type: 'wgs84', // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02'
  success: function (res) {
    var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90
    var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。
    var speed = res.speed; // 速度,以米/每秒计
    var accuracy = res.accuracy; // 位置精度
  }
});

我是直接用这个的,结果返回来的数据吓一跳,14位小数,我以为这个是特别精确的数据了。

结果我现在要做两个坐标的距离。

我用sql 算的距离:

RETURN CAST(geography::Point(@Latitude_1, @Longitude_1, 4326).STDistance(geography::Point
    (@Latitude_2,@Longitude_24326)) AS FLOAT)

怎么,我随便移动下手机,就在位置这里移动一两步,比对一下这两个位置,有时候是相差 几米,有时候相差几十米

这是我计算方式错了,还是每次获取定位有波动误差?

回答关注问题邀请回答
收藏

2 个回答

  • 漫步人生
    漫步人生
    2022-02-14

    后台调用的是数据库的比对位置的,上图代码已经发了。

    但是我吧主要的坐标都写在页面了,你可以看下。

    就是你在办公室这个位置获取一个坐标,跑到另外一个屋子获取一个坐标,两个坐标在第四位小数就开始不一样了,我不太理解这个精度的问题。但是14位的小数,那么近的距离,按照我的理解,起码小数点第十位以后才会出现不一样的。

    目前发现就是 我在这个屋子随便获取一个坐标,到另外一个隔壁屋子获取一个坐标,用sql的算法,算出来有时候相差几米,有时候相差几十米。


    2022-02-14
    有用
    回复
  • Cjiang
    Cjiang
    2022-02-14

    你好,可以提供下链接,并详细描述下复现的流程。

    2022-02-14
    有用
    回复 5
    • 漫步人生
      漫步人生
      2022-02-14
      http://gzgteach.gzmcs.cn/TestDisCount.aspx 测试的地址,你可以试试,请帮忙看下问题
      2022-02-14
      回复
    • 漫步人生
      漫步人生
      2022-02-14
      我用是苹果12   15.3系统,微信最新版
      2022-02-14
      回复
    • 漫步人生
      漫步人生
      2022-02-15
      还有,我用84跟02获取的坐标是一样的,这个是已经给解密好了?
      2022-02-15
      回复
    • Cjiang
      Cjiang
      2022-02-15回复漫步人生
      详细描述下复现的流程。
      2022-02-15
      回复
    • 漫步人生
      漫步人生
      2022-02-15回复Cjiang
      我下面的不是说了,流程了吗
      2022-02-15
      回复
登录 后发表内容