- 需求的场景描述(希望解决的问题)
wx.getLocation 获取定位的时候,用的gcj02,altitude传入true,返回的是小数点后6位的经纬度。发现手机真机定位的时候返回定位精度不准,有时候位置还可以,有时候偏了几百米。当应用需要精准定位,偏了几百米,这误差有点不能接受,用户完全找不到地方啊。
- 希望提供的能力
像百度地图Android定位SDK提供GPS、基站、WI-FI、地磁、蓝牙、传感器等多种定位方式,适用于室内、室外多种定位场景。但百度地图微信小程序API不提供定位功能,定位用的也是小程序的wx.getLocation。目前也没有发现微信小程序自身提供高精度定位,希望微信小程序能提供高精度定位或
有其他方法解决定位精度不足的问题。
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的上一个版本,想想这办事效率。毕竟人家才是王。咱门有气没地方出,一个论坛一提问几乎就是石沉大海了,最多一,二次回答,要什么?呵呵。
同样的问题 地理位置有的时候获取到是小数点6位,有时候获取到14位,6位的位置偏差大
同样的问题,wx.getLocation定时拿到的位置画到地图上,一条直路上的轨迹跟狗啃了似的,不平滑
遇到同样的问题
也是有时候会出现定位偏差过大,我的微信6.7.2,wechatlib:2.3.0
安卓手机定位有时候偏差太大。有时相差100m左右,这对我们的业务需求影响有点大啊。
找到一个曲线拯救办法,大家可以试一试
//精准定位获取循环
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>
这个地图组件可以帮手机快速定位,一般上面循环到第二次就是精确位置了
定位不准确,用户总是反馈,说APP的定位更准,我很 无奈,真的是太难了吧
有没有什么收费版本比较精确一点的
定位不准,有时候偏差很大,希望官方能够快点解决定位问题,很影响业务
+1
高度特别不准,速度获取不到
同样的问题,有没有解答