6***@qq.com
6***@qq.com
  • 发布:2020-10-19 17:15
  • 更新:2020-11-09 16:01
  • 阅读:2533

【报Bug】iOS 14 用户关闭精确定位 使用模糊定位时 高德定位 无法获取位置 超时 (系统和百度定位正常)

分类:HTML5+

产品分类: HTML5+

HBuilderX版本号: 2.9.3

手机系统: iOS

手机系统版本号: IOS 14

手机厂商: 苹果

手机机型: iPhone 11

打包方式: 离线

示例代码:

plus.geolocation.getCurrentPosition(function(p) {
console.error(JSON.stringify(p));

        }, function(e) {  
            console.error(JSON.stringify(e));  

        }, {  
            provider: 'amap',   
            coordsType: 'gcj02',  
            timeout:5000,//超时时间 5s  
        });

操作步骤:

获取定位 用户不允许精确定位

预期结果:

可以获取到模糊定位的位置或坐标

实际结果:

超时无法获取

bug描述:

iOS 14 用户关闭精确定位 使用模糊定位时 高德定位 无法获取位置 超时

2020-10-19 17:15 负责人:CLP 分享
已邀请:
6***@qq.com

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

现在问题为: 高德address未返回, 所以解析失败 一直未返回 修改 geocode:false 就可以获取到定位坐标信息, 但是没有address信息

DCloud_iOS_XHY

DCloud_iOS_XHY

问题已确认,下个版本会修复此问题

1***@qq.com

1***@qq.com

现在uni.getLocation({
geocode: true,
type: 'gcj02',
success: function(data) {

},
fail: err => {
console.log(err)
}

这个api在编译器升级前都是正常,现在返回值中address为undefined

测试了在Andriod小米是有address返回值的,但是在iphone7 ios14.0中的address就为undefined

  • CLP

    ios12,或者iOS13系统上有问题吗

    2020-11-09 16:06

  • 1***@qq.com

    没有测试过ios12和ios13,我的ios14是有问题的

    2020-11-09 16:16

  • CLP

    回复 1***@qq.com: 是基座测试的还是自定义基座或者打包测试的?

    2020-11-09 16:18

  • 1***@qq.com

    回复 CLP: 自定义基座打包测试的,现在已知的ios版本有ios12.4.1,ios14.0,ios14.1

    2020-11-09 16:22

  • 1***@qq.com

    回复 CLP: 你好,大概什么时候能得到确认问题呢?

    2020-11-09 16:45

  • CLP

    回复 1***@qq.com: 目前调试的情况是高德的回调没有返回address,你那边是什么时候都没有address吗?

    2020-11-09 17:17

  • 1***@qq.com

    回复 CLP: 对,上周六升级编译器打包发版了,然后我们APP用户反映的情况然后我再本地编译测试ios没有address

    2020-11-09 17:24

  • 1***@qq.com

    回复 CLP: 这个是不是等到你们修复bug了

    2020-11-09 17:26

  • 1***@qq.com

    回复 CLP: 我现在用的也是高德

    2020-11-09 17:49

  • CLP

    回复 1***@qq.com: bug确定了,预计下个版本修复

    2020-11-09 18:11

  • 1***@qq.com

    回复 CLP:你好请问,现在api uni.getLocation({

    geocode: true,

    type: 'gcj02',

    success: function(data) {


    },

    fail: err => {

    console.log(err)

    }

    在ios中获取的值是{

    "type": "GCJ02",

    "altitude": 489.9317932128906,

    "latitude": 30.62948133680555,

    "longitude": 104.0678873697917,

    "speed": null,

    "accuracy": 65,

    "errMsg": "getLocation:ok"

    }

    没有address的,可以帮看看吗大佬

    2021-03-11 13:33

  • CLP

    回复 1***@qq.com: provider 配上这个参数试试

    2021-03-11 17:42

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