收藏
回答

IOS和Android的定位精度不一致

问题模块
API和组件

代码如下

    wx.getLocation({

      type: 'gcj02', //返回可以用于wx.openLocation的经纬度

      success: function (res) {

        var latitude = res.latitude

        var longitude = res.longitude

        that.setData({

          latitude: latitude,

          longitude: longitude

        });

      }

    })

在苹果手机上,定位的时候经度为小数点后4位,维度时而小数点后4位时而后5位。

在Android机上,一直都是经纬度小数点后6位。

导致最后两款手机定位回来的数据偏差较大。最夸张的有时候偏差超过200米,导致定位到另一个住宅区了。

请问这个地方有没有什么办法来控制一下精确度

最后一次编辑于  2017-08-07  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

10 个回答

  • 軍
    2017-08-07

     在 onshow里面写一个延迟重定位方法

    setTimeout(function () {

            console.log("2秒延迟")

            that.setData({

              longitude: app.globalData.longitude,

              latitude: app.globalData.latitude,

            })

            that.mapinfo.moveToLocation()

          }, 2000)


    2017-08-07
    赞同
    回复
  • yang
    yang
    2017-08-07

    这是什么意思不明白

    2017-08-07
    赞同
    回复
  • musicwHello
    musicwHello
    2017-08-07

    二楼老铁的方法可行吗。

    没测试到这个问题,先收藏学习下

    2017-08-07
    赞同
    回复
  • 軍
    2017-08-07

    方法可行  一样定位不准   就是用这个方法解决的

    2017-08-07
    赞同
    回复
  • 軍
    2017-08-07

    就是进入画面之后 不管定位准不准  两秒后重新定位你给的坐标

    2017-08-07
    赞同
    回复
  • yang
    yang
    2017-08-07

    兄弟啊,你可能理解错了。我wx.getLocation方法res的返回值就是不精确的。ios只有4位精度啊,Android有6位精度

    2017-08-07
    赞同
    回复
  • yang
    yang
    2017-08-07

    ios截图



    Android截图


    2017-08-07
    赞同
    回复
  • 軍
    2017-08-07

    不好意思  理解错了  你这个还真没考虑过。。。

    2017-08-07
    赞同
    回复
  • musicwHello
    musicwHello
    2017-08-07

    确实如此 不过相差不是很大 希望官方人员来解答




    2017-08-07
    赞同
    回复
  • yang
    yang
    2017-08-07

    兄弟帮我看看这个帖子的问题

    2017-08-07
    赞同
    回复