DCloud_UNI_GSQ
DCloud_UNI_GSQ
  • 发布:2021-12-24 17:07
  • 更新:2024-09-24 16:00
  • 阅读:13368

HBuilderX 3.3.2+ uni.getLocation 更新注意事项

分类:uni-app

HBuilderX 3.3.2 以下版本 App 端 uni.getLocation 存在 type 参数不生效的 bug。实际上返回的坐标类型依据打包时是否勾选了三方定位模块,当勾选了三方定位模块(如高德定位)时返回 gcj02 类型的,否则返回 wgs84 类型。

以上问题导致:部分开发者获取到了 gcj02 类型的坐标(国内一般均使用此类型)而误以为自己需要的是 wgs84 类型;部分开发者获未配置 SDK 取到了 wgs84 类型的坐标,误认为自己获取到的 gcj02 类型的坐标偏移。

更新 HBuilderX 到 3.3.2 后,修复了以上问题(type 参数将开始生效,也请注意定位 SDK 配置需要一致),如仍需获取 gcj02 类型,请在调用 uni.getLocation 时指定 type 参数以及勾选填写三方定位模块:

uni.getLocation({  
    type: 'gcj02',  
    success: function (res) {  
        console.log('当前位置的经度:' + res.longitude);  
        console.log('当前位置的纬度:' + res.latitude);  
    }  
});
0 关注 分享

要回复文章请先登录注册

1***@163.com

1***@163.com

我有个地方不太明白,我使用了系统定位,type为 gcj02,但是 getLocation 方法使用 gcj02 时需要配置sdk信息,那么高德就需要商用授权,那么这个系统定位还是没有解决gcj02的授权问题呗?“3.3.0 版本以上 优化系统定位模块,可不使用三方定位SDK的进行高精度定位,具体参考:系统定位。”
2022-01-21 16:55
DCloud_UNI_GSQ

DCloud_UNI_GSQ (作者)

回复 xiaoliao998 :
你sdk信息配置对了吗?
2022-01-06 10:56
xiaoliao998

xiaoliao998

回复 DCloud_UNI_GSQ :
为什么最新的正式版也好,alpha版本也好,打包出来的应用无法获得地理位置信息了!但是本地调试时是可以有的!!!
2022-01-05 22:26
DCloud_UNI_GSQ

DCloud_UNI_GSQ (作者)

回复 9***@qq.com :
配置一下altitude强制高精,后续会增加单独的配置isHighAccuracy
2021-12-31 15:32
9***@qq.com

9***@qq.com

回复 DCloud_UNI_GSQ :
没有用系统定位,配置的高德key,type类型为gcj02。还是偏差了一个小区的位置,是什么问题?
2021-12-31 14:04
深海智行

深海智行

那么这样如何:量小的话直接使用个人账号申请服务端接口转换,量大乖乖交费?
2021-12-31 11:56
深海智行

深海智行

回复 DCloud_UNI_GSQ :
正规项目不建议采用这些脚本转换?意思是仅适合个人项目吗?那没有意义啊,个人项目使用三方的免费。
2021-12-31 11:47
DCloud_UNI_GSQ

DCloud_UNI_GSQ (作者)

回复 DCMarvel :
问:现在的系统定位(不使用地图SDK) 无法使用gcj02是么?

答:是的,目前网上流传的转换脚本仅能适用部分地区且偏差较大,正式项目不建议采用。
2021-12-31 11:28
DCMarvel

DCMarvel

回复 9***@qq.com :
偏差大可能是类型问题 ,用我发的这个 https://ask.dcloud.net.cn/article/39565 转一下试试
2021-12-30 20:47
9***@qq.com

9***@qq.com

偏差了几公里怎么解决
2021-12-30 18:49