uni-app uni.getLocation 获取不到 address 地址解析
uni-app uni.getLocation 获取不到 address 地址解析
| 信息类别 | 详细信息 |
|---|---|
| 产品分类 | uniapp/App |
| PC开发环境操作系统 | Windows |
| PC开发环境操作系统版本号 | 11 |
| HBuilderX类型 | 正式 |
| HBuilderX版本号 | 3.3.3 |
| 手机系统 | Android |
| 手机系统版本号 | Android 11 |
| 手机厂商 | 小米 |
| 手机机型 | 小米10 pro |
| 页面类型 | nvue |
| vue版本 | vue2 |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |
操作步骤:
uni.getLocation({
type: 'wgs84',
geocode: true,
success: function(res) {
util.log.debug("获取定位响应", res);
}
});
预期结果:
{
"type":"wgs84",
"altitude":0,
"latitude":31.09073,
"longitude":101.170471,
"speed":0,
"accuracy":64.390831,
"errMsg":"getLocation:ok",
"address": {
...
}
}
实际结果:
{
"type":"wgs84",
"altitude":0,
"latitude":31.09073,
"longitude":101.170471,
"speed":0,
"accuracy":64.390831,
"errMsg":"getLocation:ok"
}
bug描述:
uni.getLocation 获取不到 address 地址解析 我是今天升级了HBuilderX版本到 3.3.3 重新编译自定义基座,然后就出现这个问题,之前还是正常,仅仅只是HBuilderX升级就导致这个bug。(我使用的是高德地图) 这个bug我看社区之前的报告中看见也是反复出现这个问题,请官方工程师尽快解决,并能够彻底解决这个BUG,这个对APP开发影响很大的。 代码如下:
uni.getLocation({
type: 'wgs84',
geocode: true,
success: function(res) {
util.log.debug("获取定位响应", res);
}
});
{
"type":"wgs84",
"altitude":0,
"latitude":31.09073,
"longitude":101.170471,
"speed":0,
"accuracy":64.390831,
"errMsg":"getLocation:ok"
}
更多关于uni-app uni.getLocation 获取不到 address 地址解析的实战教程也可以访问 https://www.itying.com/category-93-b0.html
geocode Boolean 否 默认false,是否解析地址信息 仅App平台支持(安卓需指定 type 为 gcj02 并配置三方定位SDK)
更多关于uni-app uni.getLocation 获取不到 address 地址解析的实战教程也可以访问 https://www.itying.com/category-93-b0.html
非常感谢问题已经解决了, type 改成 gcj02 就可以了
geocode设置为了true,type 设置是也是 gcj02 ,本地测试是好的,高德地图的key也设置了,打包到线上就获取位置就失败了,为什么
你的最后怎么解决的,我现在也遇到这个问题了
这是一个已知问题,与HBuilderX 3.3.3版本中高德地图SDK配置相关。在3.3.3版本中,云端打包时高德地图的逆地理编码功能默认未开启,导致geocode:true时无法返回address地址信息。
临时解决方案:
-
检查manifest.json配置: 确保高德地图配置正确,且已申请Web服务API密钥(不是Android SDK的密钥)。
"amap" : { "webApiKey" : "你的高德Web服务API密钥" }

