9***@qq.com
9***@qq.com
  • 发布:2018-11-12 15:33
  • 更新:2018-11-21 14:54
  • 阅读:1513

plus.geolocation.getCurrentPosition() 云端打包后安卓获取不到address

分类:HTML5+

plus.geolocation.getCurrentPosition()这个获取定位信息方法,在iPhone上没有任何问题,在安卓上真机调试也没有问题,但是云端打包后再安卓上运行获取不到address信息。

实现代码如下:
//获取位置信息
plus.geolocation.getCurrentPosition(function(p){
mui.toast(JSON.stringify(p));
if (!p || !p.address) {
return;
}
//经纬度
//console.log('Geolocation\nLatitude:' + p.coords.latitude + '\nLongitude:' + p.coords.longitude + '\nAltitude:' + p.coords.altitude);
//JSON对象,地址信息
console.log(JSON.stringify(p.address));
var cityName = p.address.city || "";
mui("header>a.mui-pull-right>.city-name")[0].innerHTML = cityName;
//保存城市名
localStorage.setItem("CITYNAME", cityName);
}, function(e){
console.log('Geolocation error: ' + e.message);
if (isShowToast) {
mui.toast("定位出错:"+e.message.split(",http://")[0]);
}
});

重现步骤
步骤:
云端打包后,用安卓运行。
结果:
见附件截图
能获取经纬度,但获取不到address。

[期望]
获取到address,拿到 p.address.city。

IDE运行环境说明
[HBuilder]
[IDE版本号]
HBuilder 9.1.19.201808300739
[mac版本号]
10.13.6

App运行环境说明
[Android版本号]
试了公司所有安卓机都有问题

联系方式
[961383696]

2018-11-12 15:33 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com

你这个问题解决了吗?

  • 9***@qq.com (作者)

    刚解决,云端打包后默认使用的是系统的定位,我集成了百度定位就好了

    2018-11-12 17:47

  • 9***@qq.com (作者)

    用这种方式调(给plus.geolocation.getCurrentPosition()多加一个参数{provider:'baidu'}):

    // 使用百度地图地位模块获取位置信息

    plus.geolocation.getCurrentPosition(function(p){

    alert('Geolocation\nLatitude:' + p.coords.latitude + '\nLongitude:' + p.coords.longitude + '\nAltitude:' + p.coords.altitude);

    }, function(e){

    alert('Geolocation error: ' + e.message);

    },{provider:'baidu'});

    2018-11-12 17:53

  • 9***@qq.com (作者)

    然后点击manifest.json文件,选SDK配置,配好对应appkey就好了,appkey的话去百度地图开放平台申请。

    2018-11-12 18:00

9***@qq.com

9***@qq.com (作者)

云端打包后默认使用的是系统的定位,集成了百度定位就好了:
用这种方式调(给plus.geolocation.getCurrentPosition()多加一个参数{provider:'baidu'}):
// 使用百度地图地位模块获取位置信息
plus.geolocation.getCurrentPosition(function(p){
alert('Geolocation\nLatitude:' + p.coords.latitude + '\nLongitude:' + p.coords.longitude + '\nAltitude:' + p.coords.altitude);
}, function(e){
alert('Geolocation error: ' + e.message);
},{provider:'baidu'});
然后点击manifest.json文件,选SDK配置,配好对应appkey就好了,appkey的话去百度地图开放平台申请。

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