destiny_JS
destiny_JS
  • 发布:2023-03-16 16:27
  • 更新:2023-09-26 14:28
  • 阅读:657

【报Bug】IOS端App,集成了高德定位SDK,获取定位,第一次会timed out,errorcode:3,获取的定位相比于安卓有偏差,且不能获取到address,geocode已经设置

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 10 家庭中文版21H2

HBuilderX类型: 正式

HBuilderX版本号: 3.7.3

手机系统: iOS

手机系统版本号: iOS 14

手机厂商: 苹果

手机机型: iPhone 12

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
getPreciseLocation({  
      return new Promise((resolve, reject) => {  
          uni.getLocation({  
            type: 'gcj02',  
            altitude: false,  
            accuracy: 'bast',  
            geocode: true,  
            highAccuracyExpireTime: '5000',  
            isHighAccuracy: true,  
            success: (detail) => {  
              // this.currentPosition = {longitude: detail.longitude, latitude: detail.latitude}  
              resolve(detail)  
              console.log('成功的回调', detail)  
            },  
            fail: (err) => {  
              reject(err)  
            },  
            complete: (detail) => {  
              // uni.hideLoading()  
              console.log('获取的位置', detail)  
            }  
          })  
        })  
})

操作步骤:

iOS获取位置

预期结果:

正确的经纬度

实际结果:

iOS系统的应用,第一次会报错,且之后获取的经纬度有偏差,没有address信息

bug描述:

iOS系统的应用

问题一:第一次获取位置会报错

报错信息:

{  
    "errMsg": "getLocation:fail Position retrieval timed out.",  
    "errCode": 3,  
    "code": 3  
}

第二次也有可能,第三次能够成功

问题二:iOS获取的定位不准确,且不显示address信息

iOS的经纬度

{  
    "type": "gcj02",  
    "altitude": 104.691089630127,  
    "latitude": 36.66171169704861,  
    "longitude": 117.150627983941,  
    "speed": null,  
    "accuracy": 65,  
    "errMsg": "getLocation:ok"  
}

Android的经纬度

{  
    "type": "gcj02",  
    "altitude": 0,  
    "latitude": 36.661605,  
    "longitude": 117.150144,  
    "speed": 0,  
    "accuracy": 200,  
    "address": {  
        "country": "中国",  
        "province": "山东省",  
        "city": "济南市",  
        "district": "历城区",  
        "street": "******",  
        "streetNum": "*******",  
        "poiName": "********",  
        "cityCode": "0531"  
    },  
    "errMsg": "getLocation:ok"  
}
2023-03-16 16:27 负责人:无 分享
已邀请:
DCloud_iOS_WZT

DCloud_iOS_WZT

是用的标准基座还是自定义基座,如果是标准基座需要你用自己的key打自定义基座测试
如果是自定义基座没返回address 去看下是不是appkey配的不对 或者配完了没有重新打基座

  • 英盟

    高德sdk定位,打的自定义基座包,appkey配的也没问题,多刷几次能成功,大部分都是定位超时

    2023-12-01 11:42

h***@163.com

h***@163.com

你好,我也是遇到这个问题了,你解决了吗?

要回复问题请先登录注册