3***@qq.com
3***@qq.com
  • 发布:2020-01-03 15:46
  • 更新:2020-01-08 10:29
  • 阅读:1292

【报Bug】IOS 调用.geolocation.getCurrentPosition uni.getLocation无反应

分类:uni-app

[内容]

HBX 2.5.1 iphonex 13.3 版本
调用.geolocation.getCurrentPosition uni.getLocation
无任何反应也无失败回调,
使用的自定义基座
打印plus.geolocation 对象内容为 [Object] {"lastPosition":null}
打印uni.getLocation 为undefined

android 端获取位置正常。自定义基座android ios都是同时打包的 配置一样
另外使用标准基座获取位置 IOS端也获取正常

新建了一个工程IOS端使用自定义基座打包也正常
plus.geolocation 为undefined
uni.getLocation 有东西

可能是map模块 跟位置获取api 在ios端有冲突。

确认原因了,基座打包勾选高德地图,map模块,ios端位置获取api就失效了,android端没问题,
不勾选地图,map模块,ios端位置信息api获取异常。

2020-01-03 15:46 负责人:无 分享
已邀请:
3***@qq.com

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

没人遇到一样的问题吗? IOS 13.3 uni的定位api用不了了

  • CLP

    只在iOS13.3的手机有问题吗?

    2020-01-08 12:00

3***@qq.com

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

有没有官方人员来解决下啊

  • CLP

    你是说manifest。json文件里勾选高德定位或地图和Maps(地图),之后打包就会毕现是吗? 然后用plus.geolocation.getCurrentPosition这个API会走失败是吗,失败回调是啥内容了?

    2020-01-08 12:05

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

    回复 CLP: 不是走失败 是什么反应都没有,没有失败回调,plus.geolocation.getCurrentPosition 方法根本没跑,也没报错

    2020-01-08 13:38

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

    回复 CLP: 打印plus.geolocation 对象内容为 [Object] {"lastPosition":null} 同样的代码,标准基座 不打包高德跟map 是没问题的, 安卓端没出现这个问题

    2020-01-08 13:40

  • CLP

    回复 3***@qq.com: 那我应该怎样复现这个问题来测试? 是勾选高德定位或地图,然后调用plus.geolocation.getCurrentPosition 这个API就可以是吗? 参数传什么?

    2020-01-08 14:30

  • CLP

    回复 3***@qq.com: 只在iOS13.3的手机有问题吗?

    2020-01-08 14:30

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

    回复 CLP: 新建一个uniapp工程,勾选高德地图,map权限,提交打包自定义基座,运行自定义基座模式,手机端记得卸掉才会重新安装基座,

    在onload 添加如下代码onLoad() {

    console.log('onload');

    plus.geolocation.getCurrentPosition(function(res){

    console.log(JSON.stringify(res));

    },function(e){

    console.log(JSON.stringify(e));

    });

    uni.getLocation({

    type:"gcj02",

    geocode:true,

    success:(res)=>{

    console.log(JSON.stringify(res));

    },

    fail:(e)=>{

    console.log(JSON.stringify(e));

    }

    });

    },

    我这边同事的手机都是13.3 不知道其他版本情况,暂时没有手机可以测试

    2020-01-09 10:56

  • CLP

    回复 3***@qq.com: appkey配置的对吗

    2020-01-09 15:02

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

    回复 CLP: 位置获取api需要地图的appkey吗?

    2020-01-09 16:53

  • CLP

    回复 3***@qq.com: 对

    2020-01-09 17:03

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

    回复 CLP: 是ios appkey 不正确,自定义基座打包地图,必须使用正确的appkey,标准基座或者不打包地图获取位置是通过手机获取的吗,打包地图获取位置api为啥要换成通过地图sdk获取,还是说影响了导致后续的手机位置获取不了而已?

    2020-01-10 11:00

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

    回复 3***@qq.com: 另外appkey不正确 是不会提示失败吗?

    2020-01-10 11:29

  • CLP

    回复 3***@qq.com: https://www.html5plus.org/doc/zh_cn/geolocation.html#plus.geolocation.PositionOptions 用这个plus.geolocation.getCurrentPositionAPI获取定位信息,是走的高德定位SDK获取的,高德有定位sdk和地图sdk。基座默认有高德定位和地图sdk,你调用时没有传provider参数,这个时候走的是高德定位,不会走手机系统定位和百度定位。如果高德和百度定位都没有打进去,provider参数也没有传值,就会走手机系统定位;如果你provider传了高德参数,这个时候会报错不支持。

    2020-01-10 11:42

  • CLP

    回复 3***@qq.com: apppkey不正确的情况,定位目前好像是不会提示

    2020-01-10 11:45

  • CLP

    高德定位和高德地图用的是同一个appkey 这个是高德官方定的

    2020-01-10 11:47

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