6***@qq.com
6***@qq.com
  • 发布:2019-05-05 17:14
  • 更新:2021-12-10 17:09
  • 阅读:13051

【已解决】uni.chooseLocation问题

分类:uni-app
  1. HBuildx版本为1.9.4,使用uni.chooseLocation选择位置,在pc浏览器上调用的时候为腾讯地图,能正常显示。
  2. 但是在真机测试的时候安卓和ios都不能正确调用,地图显示北京,无地址列表。

真机测试调起的时候报错

  1. 回退上个版本之后ios能正常调用,但是搜索地址,只能搜索到同城地址,省外的不能搜索到。
2019-05-05 17:14 负责人:无 分享
已邀请:
ZGH0709

ZGH0709

  1. 是 android 和 ios 都没有地址列表吗? 另外想问下你的位置是否在北京?
  2. 搜索同城问题已确认,后续会进行修复。
  • 6***@qq.com (作者)

    没有地址列表的问题已解决~~,之前用别人的手机测,提示获取定位权限,后来手机没开定位,尴尬.....

    2019-05-13 09:08

  • 随便一个名字

    我的是都没有地址列表,且我不在北京,而且我试了1.9.5的版本也不行

    2019-05-13 09:21

  • 随便一个名字

    额,可以了

    2019-05-13 09:34

  • 随便一个名字

    但是我发现,好像把app的地图从高德改成百度地图,百度地图无法调用chooseLocation

    2019-05-13 09:44

  • ZGH0709

    回复 随便一个名字: 你定位的地址对吗? 改成百度地图的表现是什么,无法调用是报错还是没有回调?

    2019-05-13 10:00

  • 随便一个名字

    回复 ZGH0709: 直接运行到手机不是发行打包安装的话,配置的百度sdk不起作用,还是运行的高德,没有报错。发行打包的话,可以用百度地图,用webview调试,他注释了的暂不支持uni-app。

    2019-05-13 11:20

  • 随便一个名字

    回复 ZGH0709: 就是我调用chooseLocation的话,连请求获取地址权限都不弹出来,直接定位到北京。高德地图的话,会请求获取定位权限,然后同意的话会从北京定位到我在的重庆

    2019-05-13 11:21

  • ZGH0709

    回复 随便一个名字: 好的,了解了。

    2019-05-13 12:09

  • 随便一个名字

    回复 ZGH0709: 好的,谢谢。

    2019-05-13 13:14

  • 9***@qq.com

    回复 随便一个名字: 怎么解决的啊

    2020-08-09 10:39

1***@qq.com

1***@qq.com - java程序员

我也遇到这个问题了,安卓调用的百度地图

2***@qq.com

2***@qq.com - 学习交流uni-app

无地址列表,请问怎么解决的 h5一直木有

1***@163.com

1***@163.com - 龙丶辰

垃圾api,这就是不兼容的问题,不然凭什么H5和模拟器都可以使用,打包过后就不能使用了,说白了,uniapp还是不能完全跨端编译,一大堆bug,各种api出现bug

随便一个名字

随便一个名字

我也是这个问题,网页上和微信小程序用腾讯地图uni.chooseLocation是附近位置,但是打包成app调这个接口就是北京天安门,搜索也只能搜索北京地址。

  • 9***@qq.com

    问题有没有解决啊

    2020-08-09 01:34

  • ak_un

    因为域名的 https问题。申请个s证书就好了。用https,ios会强制加https所以没问题。

    2020-11-10 19:54

随便一个名字

随便一个名字

我用的百度地图

3***@qq.com

3***@qq.com - 前端爱好者

在H5端进入选择位置的地图里不会根据用户的经纬度来显示,比如我在南昌任何地方都是固定式在南昌人民政府,这是什么问题,求解决

按钮原生uni里的选择地图方法来的:
uni.chooseLocation({
success: (res) => {
this.hasLocation = true,
// 获取到经纬度
this.loatngitude.longitude = res.longitude
this.loatngitude.latitude = res.latitude
console.log('this.loatngitude',this.loatngitude.longitude,this.loatngitude.latitude);
// 获取到中文地址 res.address
this.locationAddress = res.name
}
})

  • 椒盐玉米粒

    你的解决了吗?我在武汉也是这样,安卓微信环境里面永远是固定在武汉的一个点,但是苹果能够准确定位

    2020-05-09 16:46

  • ak_un

    回复 椒盐玉米粒: 因为域名的 https问题。申请个s证书就好了。用https,ios会强制加https所以没问题。

    2020-11-10 19:54

  • ak_un

    因为域名的 https问题。申请个s证书就好了。用https,ios会强制加https所以没问题。

    2020-11-10 19:54

the_wolf_life

the_wolf_life - 大前端领航者

hbuildx版本2.7.9.20200527 手机是荣耀V20 PCT-AL10 安卓版本10 ,手机GPS也开启了,app定位权限也开启了,核对了高德地图安卓KEY, 云打包后的apk 安装后使用 chooseLocation 还是空列表 ,定位在首都。

k***@163.com

k***@163.com - 1

同样的问题,是不是app得先获取权限才行?

  • 3***@qq.com

    因为拿到的是市中心的位置,后来换成与Android原生交互的方法实现获取实时位置的方法

    2020-08-28 11:00

  • k***@163.com

    回复 3***@qq.com: 嗯嗯,我好像是因为keystore 文件生成sha1出问题,多配几遍高德的key就可以了

    2020-09-01 17:54

audx

audx

请问,这个问题具体是怎么解决的啊?

1***@qq.com

1***@qq.com

一模一样,检查了安卓证书也没啥问题。

jufeng

jufeng - 区块链、人工智能、大数据

uni.chooseLocation({
longitude : this.longitude,
latitude : this
.latitude,
success: function(res) {
console.log('本地地图:', res);
if(res.name == ''){
uni.showModal({
title: '提示',
content: '你没有选中位置,请重新选择。',
success(res) {
if (res.confirm) {
this.getLocation();
}
}
});
}else{
this
.addressName = res.name + '附近';
this.latitude = res.latitude;
this
.longitude = res.longitude;
// this_.getServerData();

                        var name = res.name;  
                        var address = res.address;  
                        this_.addressNameDetails = address  
                        this_.$api.getCity(address, name).then(res => {  
                            this_.city = res.REGION_CITY;  
                            this_.$api.getWeather(this_.city).then(res => {  
                                this_.weather = res.data;  
                            });  
                        });  
                    }  
                },  
                complete: () => {  
                    uni.hideLoading();  
                }  

            });  

要加这二个参数就会在国图上有位置,不会定位到北京的,因为默认是北京所以我们要加二个参数

longitude : this.longitude,
latitude : this
.latitude,

加载超慢的也一起解决了

该问题目前已经被锁定, 无法添加新回复