uni-app IOS13.3 无法获取经纬度

uni-app IOS13.3 无法获取经纬度

详细问题描述

使用uni.getLocation Api在IOS13.3的Safari和UC浏览器上无法获取经纬度,直接getLocation:fail也没有提示授权,但是在IOS12.2上面能够正常获取经纬度

重现步骤

结果

期望

[如果语言难以表述清晰,拍一个视频或截图,有图有真相]

信息类型 信息内容
IDE运行环境说明 HBuilder 或 HBuilderX
IDE版本号
Windows版本号
Mac版本号
uni-app运行环境说明 运行端是h5或app或某个小程序?
运行端版本号
项目创建 项目是cli创建的还是HBuilderX创建的?
编译模式 老模板模式还是新的自定义组件模式?
App运行环境说明 Android版本号
iOS版本号
手机型号
模拟器型号

附件

[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]

[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]

[App安装包或H5地址]


更多关于uni-app IOS13.3 无法获取经纬度的实战教程也可以访问 https://www.itying.com/category-93-b0.html

9 回复

试试官方示例是否正常https://uniapp.dcloud.io/h5/pages/API/get-location/get-location 如果正常,对照一下文档里的注意事项

更多关于uni-app IOS13.3 无法获取经纬度的实战教程也可以访问 https://www.itying.com/category-93-b0.html


就是用的官方示例做比较,IOS13.3无法获取经纬度直接失败

回复 Bridegroom777: 我这测试iOS13.3正常,你是打开的https://uniapp.dcloud.io/h5/pages/API/get-location/get-location测试的吗?

回复 DCloud_UNI_GSQ: 是的呢,在iOS13.3的手机上打开的这个链接,无法获取定位,但是12.2上面打开能够获取

回复 Bridegroom777: 我这测试多个iOS13的设备均未复现,你是否禁用了浏览器的定位权限(设置-隐私-定位服务-safari网站)?另外多找几个iOS13的设备试试。

回复 DCloud_UNI_GSQ: 刚刚重新测试了一下,现在又可以了emmm

回复 DCloud_UNI_GSQ: 我又尝试了一下,发现在谷歌浏览器里面,localhost的本地环境下要获取经纬度的话必须要科学上网才能够获取经纬度,否则会获取失败。。

回复 Bridegroom777: 是的,文档有说明,Chrome未使用你电脑的GPS(或者你电脑就没有GPS)而使用wifi信息定位,接口在GAE上

针对iOS13.3无法获取经纬度的问题,可能是由于iOS13对定位权限的调整导致的。以下是可能的解决方案:

  1. 确保在manifest.json中配置了定位权限:
"h5": {
  "geolocation": {
    "enable": true
  }
}
  1. iOS13需要显式请求定位权限,建议在调用getLocation前先检查权限状态:
uni.authorize({
  scope: 'scope.userLocation',
  success() {
    uni.getLocation({
      // 获取位置参数
    })
  },
  fail() {
    // 处理授权失败
  }
})
回到顶部