uni.getLocation({
type: "gcj02",
isHighAccuracy: true, //开启高精度定位
geocode: false, //是否解析地址信息
success: async (res) => {
//基础定位信息-位置信息
result.longitude = res.longitude;
result.latitude = res.latitude;
if (options.extensions) {
//调用高德逆编码接口,实现经纬度解析。
} else {
result = {};
result.longitude = res.longitude;
result.latitude = res.latitude;
}
},
fail: async (res) => {
let message = '定位失败。编号:' + res.code + ',错误编号:' + res.errCode + ',消息:' + res.errMsg;
//发送message到服务器
}
})
- 发布:2024-04-12 21:05
- 更新:2024-05-27 10:54
- 阅读:467
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: Windows 10 专业版 22H2 19045.2251
HBuilderX类型: 正式
HBuilderX版本号: 4.08
手机系统: Android
手机系统版本号: Android 14
手机厂商: 华为
手机机型: Mate系列 荣耀系列 等
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
目前主要是通过客诉反馈,最近收到大量客诉,大部分是因为定位延时大,还有部分新手机无法定位,如Mate60Pro.
目前主要是通过客诉反馈,最近收到大量客诉,大部分是因为定位延时大,还有部分新手机无法定位,如Mate60Pro.
预期结果:
根据高德的反馈,希望能够选择高德定位SDK的版本,高德地图的官方人员建议如果不上应用市场,可以将定位SDK降低版本,来解决此问题。
根据高德的反馈,希望能够选择高德定位SDK的版本,高德地图的官方人员建议如果不上应用市场,可以将定位SDK降低版本,来解决此问题。
实际结果:
解决定位延迟不及时和高版本定位的问题。
解决定位延迟不及时和高版本定位的问题。
bug描述:
2024年4月10日,我们发布了一个新版本的uniapp版本,更新HuilderX到4.0.8版本。更新后,出现大量的客诉,普遍的问题是定位不准确。其中主要是Mate60Pro不能定位,后续陆续出现很多反馈定位不及时的原因。
经过咨询:
1、本次更新后,高德定位SDK6.4.3版本,因我们购买了高德商用服务,咨询了高德官方,说因为合规性问题,降低了定位的刷新频率,也就是说,为了合规性问题,可能导致定位更新不及时的原因。 我们的app主要用于公司销售人员拜访客户,最近出现的问题是经常拜访后,前往下一个网点,定位时还显示上一个门店的定位,要多次刷新,反复才能更新到最新位置。
2、高版本的华为手机会出现无法定位的原因,目前高德无法根本解决。
我收集了用户手机调用uni.getlocation方法后的错误信息。
错误信息:定位失败。编号:4,错误编号:4,消息:getLocation:fail [geolocation:6]定位结果错误 请到http://lbs.amap.com/api/android-location-sdk/guide/utilities/errorcode/查看错误码说明,错误详细信息:#id:Sb2FhNWNiZzg3ZjQ0MGlkcHNwcnByMTY2ZmRjMTNlLA==#csid:d453c0d90bbe454d9c995fccc7c80015location faile retype: rdesc:78#0601#pm111111
编号:2,错误编号:2,消息:getLocation:fail [geolocation:13]网络定位失败,请检查设备是否插入sim卡,是否开启移动网络或开启了wifi模块 请到http://lbs.amap.com/api/android-location-sdk/guide/utilities/errorcode/查看错误码说明,错误详细信息:获取到的基站和WIFI信息均为空,请检查是否授予APP定位权限#1302#pm111111
错误信息:定位失败。编号:2,错误编号:2,消息:getLocation:fail [geolocation:13]网络定位失败,请检查设备是否插入sim卡,是否开启移动网络或开启了wifi模块 请到http://lbs.amap.com/api/android-location-sdk/guide/utilities/errorcode/查看错误码说明,错误详细信息:获取到的基站和WIFI信息均为空,请检查是否授予APP定位权限#1302#pm111111
爱tutu爱生活 - 前端渣渣
我也是,4.08打包出来的,华为的定位还一直报错。回退到3.99重新打包好像就没这个错了,你可以试下
-
回复 Francis8192: 有结果了吗,兄弟,
我这边也是使用4+hx 打的包,很多型号的华为手机,客户反馈定不了位(权限都已经授权)。
期待兄弟结果。。2024-05-09 10:00
-
Francis8192 (作者)
回复 bobbbb: 目前测试结果是, 3.82的定位刷新频率高一些,不过没有具体数值。 就是定位在一段时间内刷新的时间短些。更新到 4.08后,时间被拉长。还有就是高版本的定位偏差会大一些。 目前没有找到合适的解决办法。目前我们的用户都已经被引导用微信小程序了。
2024-05-10 08:20
-
Francis8192 (作者)
回复 bzliukai: 这个目前没有好办法解决, 你说的华为,应该是新出的机型导致的。之前问过高德官方工程师,说是要集成什么换位的定位SDK。扯淡的很,不知道买了商用服务有什么用,定位不了,玩不下去了。
2024-05-10 08:21
Francis8192 (作者)
并没有,现在主要的问题是更新4.08SDK后,高德定位延迟问题, 经常不准,偏差大, 到达新地点后, 定位还是上一次定位地点。
2024-04-30 11:47
bobbbb
回复 Francis8192: 我们跟你们一样的场景 都是销售拜访客户 现在投诉很大 哎
2024-04-30 13:51
Francis8192 (作者)
回复 bobbbb: 我已经被客诉搞疯了,目前发布了小程序版本,使用小程序就定位正常。
2024-04-30 14:06
bobbbb
回复 Francis8192: 有没有试过不接高德 用其他平台的方案
2024-04-30 15:49
Francis8192 (作者)
回复 bobbbb: 没有,定位商用服务每家都是5W大洋,都买伤不起。目前只购买了高德商用服务。
2024-05-01 21:26
Francis8192 (作者)
回退hb版本到3.87试试
2024-05-08 17:48