收藏
回答

使用小程序getLocation获取到的经纬度偏差

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug wx.getLocation 客户端 7.0.4 2.7.3

- 当前 Bug 的表现(可附上截图)


门店的经纬度是高德的经纬度,获取到的经纬度拿到高德地图或者腾讯地图进行转换时和实际当前我的位置都是有偏差的,直线距离大概在五百米左右,通过地址搜索获取到的经纬度调用高德地图api,误差只有二十米左右

代码:

getMyLocation: function () {

/**获取位置信息 */

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

wx.getLocation({

success: (res) => { //

resolve(res);

this.setData({

getLocationFail: true

})

},

fail: (res) => { //拒绝授权

reject(res);

console.log('fail: ' + res);

this.setData({

getLocationFail: false

})

}

})

})

},

pipeStoreInfo: function () {

/**获取附近所有门店 */

this.getMyLocation().then((res) => {

this.setData({

getLocationFail: true

})

this.getNearStore(res.latitude, res.longitude)

}, (res) => {

this.setData({

getLocationFail: false

})

})

},


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

4 个回答

  • 吴奕群
    吴奕群
    07-05

    整个应该很正常,跟设备还有环境都有很大的关系

    07-05
    赞同
    回复
  • ﹉续写不尽的未来
    ﹉续写不尽的未来
    07-05

    https://www.jianshu.com/p/9979f2a5ecaf 我不知道这种方式好不好用,你可以试一下,我的需求不是很大,没用过

    07-05
    赞同
    回复
  • 仙森ღ₅₂₀¹³¹⁴
    仙森ღ₅₂₀¹³¹⁴
    07-05

    你的转换写法呢?

    07-05
    赞同
    回复 3
    • Steven Mao
      Steven Mao
      07-05

      转换?这还需要什么转换呢?this.getNearStore(res.latitude, res.longitude)直接去请求后端接口去了

      07-05
      回复
    • 仙森ღ₅₂₀¹³¹⁴
      仙森ღ₅₂₀¹³¹⁴
      07-05

      = =你不是腾讯地图获取的经纬度么?然后直接传给高德地图的api?

      07-05
      回复
    • Steven Mao
      Steven Mao
      07-05回复仙森ღ₅₂₀¹³¹⁴

      对的,高德地图和腾讯地图基本偏差可以忽略不计,但是百度地图和腾讯地图、高德地图偏差较大

      07-05
      回复
  • 拾忆
    拾忆
    07-05

    正常,而且还不一定能实时刷新

    07-05
    赞同
    回复 3
    • Steven Mao
      Steven Mao
      07-05

      我就一直坐在公司里的,门店经纬度配置的就是公司地址,结果还偏差这么多,通知地址搜索偏差只有20米左右

      07-05
      回复
    • 拾忆
      拾忆
      07-05回复Steven Mao

      具体原理不清楚,反正偏差几百米是有的。

      07-05
      回复
    • Steven Mao
      Steven Mao
      07-05回复拾忆

      我用别的小程序就正常的,不知道他们怎么处理的

      07-05
      回复