收藏
回答

wx.getLocation 返回定位精度不准问题

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 需求 wx.getLocation 客户端 6.7.2 wechatlib:2.2.5

- 需求的场景描述(希望解决的问题)

   wx.getLocation 获取定位的时候,用的gcj02,altitude传入true,返回的是小数点后6位的经纬度。发现手机真机定位的时候返回定位精度不准,有时候位置还可以,有时候偏了几百米。当应用需要精准定位,偏了几百米,这误差有点不能接受,用户完全找不到地方啊。

     


- 希望提供的能力

      像百度地图Android定位SDK提供GPS、基站、WI-FI、地磁、蓝牙、传感器等多种定位方式,适用于室内、室外多种定位场景。但百度地图微信小程序API不提供定位功能,定位用的也是小程序的wx.getLocation。目前也没有发现微信小程序自身提供高精度定位,希望微信小程序能提供高精度定位或

有其他方法解决定位精度不足的问题。


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

12 个回答

  • 六一
    六一
    2019-07-01

    18年时我已经和微信那边的确认,配合测试,反馈是getLocation()确实有问题,像超时,wifi没有开启,系统错误,误差十几公里甚至上百公里等等问题,解决问题几个月了,一样没有得到解决,说是会出新的接口,现在都9个多月过去了,也没有解决,我们几百人都在配合测试,后来微信那边的员工也不回我了,无语,真不知道微信办事效率这么低。我真不相信微信现在有很多人用,像2019.5.25-2019.5.26,出现严重bug,微信更新了

    WeChatLib:2.7.1(2019.5.24 11:50:59),造成小程序在多个input来回切换或切换至密码类型的input时,无法输入,结果就是无法登录,我在论坛上也没有找到相关问题,到2019.5.27(星期一)才还原WeChatLib的上一个版本,想想这办事效率。毕竟人家才是王。咱门有气没地方出,一个论坛一提问几乎就是石沉大海了,最多一,二次回答,要什么?呵呵。


    2019-07-01
    有用 11
    回复 1
    • 胡style
      胡style
      2020-10-12
      就是到了现在,我依然碰见过有的手机使用gps时需要先开启wifi,使用wifi时需要先开启gps的问题,还有就是textarea的层级问题一直没得到解决。
      2020-10-12
      回复
  • 苏海红
    苏海红
    2018-09-28

    同样的问题 地理位置有的时候获取到是小数点6位,有时候获取到14位,6位的位置偏差大


    2018-09-28
    有用 3
    回复
  • VV
    VV
    2018-09-19

    同样的问题,wx.getLocation定时拿到的位置画到地图上,一条直路上的轨迹跟狗啃了似的,不平滑

    2018-09-19
    有用 3
    回复
  • nicefeiniu🐂
    nicefeiniu🐂
    2018-09-12

    遇到同样的问题


    也是有时候会出现定位偏差过大,我的微信6.7.2,wechatlib:2.3.0


    安卓手机定位有时候偏差太大。有时相差100m左右,这对我们的业务需求影响有点大啊。

    2018-09-12
    有用 2
    回复
  • 老表
    老表
    2021-01-24

    找到一个曲线拯救办法,大家可以试一试

    //精准定位获取循环

      locationNear: function () {

        return new Promise(async (resolve) => {

          let horizontalAccuracy = 1000, i = 0

          let latitude, longitude

          while (horizontalAccuracy > 50 && i < 10) { //经度如果大于50米,最多尝试10次,免得进入死循环

            i++

            await this.wxGetLocation().then(res => {

              horizontalAccuracy = res.horizontalAccuracy

              latitude = res.latitude

              longitude = res.longitude

            }).catch(err => {

              resolve(false)

              console.log('定位失败')

            })

          }

          if (horizontalAccuracy <= 50) {

    ///如果经度在50米内

          resolve('精准定位成功')

          }

        })

      },

      //手机定位

      wxGetLocation: function () {

        return new Promise((resolve, reject) => {

          wx.getLocation({

            type: 'gcj02',

            isHighAccuracy: true,

            highAccuracyExpireTime: 5000,

            success: (res) => {

              console.log('目前的位置', res.accuracy)

              resolve(res)

            },

            fail: (err) => {

              reject(err)

            }

          })

        })

      },

    上面只是让手机多次尝试,不是关键,关键在下面.在需要获得精准定位的wxml页面引入

    <map show-location="true" style="width: 0rpx; height: 0rpx;"></map>

    这个地图组件可以帮手机快速定位,一般上面循环到第二次就是精确位置了

    2021-01-24
    有用 1
    回复
  • 我名字就十个字不信你数
    我名字就十个字不信你数
    2019-10-10

    定位不准确,用户总是反馈,说APP的定位更准,我很 无奈,真的是太难了吧

    2019-10-10
    有用 1
    回复
  • 💍吴丽
    💍吴丽
    2020-06-04

    有没有什么收费版本比较精确一点的

    2020-06-04
    有用
    回复
  • Vincent
    Vincent
    2019-01-22

    定位不准,有时候偏差很大,希望官方能够快点解决定位问题,很影响业务

    2019-01-22
    有用
    回复
  • 2018-12-07

    +1

    高度特别不准,速度获取不到

    2018-12-07
    有用
    回复
  • 2018-12-05

    同样的问题,有没有解答

    2018-12-05
    有用
    回复

正在加载...

登录 后发表内容