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

5 回复

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地址信息。

临时解决方案:

  1. 检查manifest.json配置: 确保高德地图配置正确,且已申请Web服务API密钥(不是Android SDK的密钥)。

    "amap" : {
        "webApiKey" : "你的高德Web服务API密钥"
    }
回到顶部