1***@qq.com
1***@qq.com
  • 发布:2019-03-14 10:01
  • 更新:2019-03-14 10:31
  • 阅读:2519

还是关于昨天uni.getLocation,浏览器内获取定位问题

分类:uni-app

昨天晚上测试,安卓手机(索尼XZ3)自带浏览器,这个获取位置没反应(白天还是好用的),授权了,也打开手机定位了(IOS测试正常)。

今天早上9:30左右测试两部安卓手机,大概过了5分钟左右,fail函数才回调。然后安装了QQ浏览器,测试俩手机都成功。再用自带浏览器,其中一部手机(索尼XZ3)也没问题了。。。,另一部(红米1s)还是五分钟后失败。后来发现另一部(红米1s)系统可以设置定位精度,改成【准确度高】模式后,定位好使了。

目前问题:

  1. 晚上定位不好使。
  2. QQ手机浏览器,比自带浏览器好使,不需要设置定位精度。

请问这种不稳定现象是偶发的吗,因为要定位当前城市有木有好的解决办法?

2019-03-14 10:01 负责人:无 分享
已邀请:
Trust

Trust - 少说废话

调用的是浏览器本身的规范 navigator.geolocation.getCurrentPosition,你可以单独搞个普通的 HTML 页面测试一下。具体的表现,完全取决于手机设备以及浏览器本身的实现,用户是干预不了的。

如果需要特别精确的话,可以考虑引入百度等地图的 SDK,用他们提供的服务来获取,看是否够有所改善。

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

    搞个普通的 HTML 页面测试了一下,的确和系统设置有关系。索尼手机自带浏览器必须的打开定位服务,navigator.geolocation.getCurrentPosition才能好使,红米手机自带浏览器设置定位精度,即使不打开定位服务navigator.geolocation.getCurrentPosition也好使。

    索尼手机QQ浏览器也必须的打开定位服务,navigator.geolocation.getCurrentPosition才能好使,红米QQ自带浏览器设即是不置定位精度高,即使不打开定位服务navigator.geolocation.getCurrentPosition也好使。

    这也太累了。希望以后能有屏蔽系统差异的方案。

    2019-03-14 10:47

  • Trust

    回复 1***@qq.com:这个得各大浏览器厂商,他们的内核来处理,上层的开发人员是处理不了的,理清楚这个依赖关系。

    2019-03-14 10:51

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