l***@163.com
l***@163.com
  • 发布:2019-10-29 17:51
  • 更新:2019-11-09 18:58
  • 阅读:2179

【报Bug】H5端使用uni.getLocation与plus.geolocation.getCurrentPosition获取地理位置均失败,APP端正常

分类:HTML5+

详细问题描述

(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)

[内容]

重现步骤

[步骤]
使用Chrome进行本地访问
[结果]
没有反应,定位代码就像没有运行
[期望]
获取到地理位置
[如果语言难以表述清晰,拍一个视频或截图,有图有真相]

IDE运行环境说明

[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]
HBuilderX
[IDE版本号]
2.3.7.20191024
[windows版本号]
windows10
[mac版本号]

uni-app运行环境说明

[运行端是h5或app或某个小程序?]
H5
[运行端版本号]
Chrome 77.0.3865.120
[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]
HBuilderX
[编译模式是老模板模式还是新的自定义组件模式?]
老模板

附件

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

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

[App安装包或H5地址]

[可重现代码片段]
uni.getLocation({
type: 'wgs84',
success: function (res) {
console.log(res)
}
});
plus.geolocation.getCurrentPosition(function(p){
console.log(p)
}, function(e){
console.log(e)
} );

联系方式

[QQ]1822612050

2019-10-29 17:51 负责人:无 分享
已邀请:
u***@gmail.com

u***@gmail.com

我这边以为出现一样的问题,实际是获取时长高达2min,在两分钟后才返回获取失败

u***@gmail.com

u***@gmail.com

原因是chrome上没有GPS,uni app调用navigator.geolocation.getCurrentPosition获取坐标会请求google api。国内请求不到导致了失败

  • u***@gmail.com

    navigator.geolocation.getCurrentPosition默认是优先使用低精度的ip获取地址。不知道uni app有没有设置使用高精度的参数为true,如果没有的话,有GPS好像也不会使用GPS而是有限通过ip请求google的api换算地址

    2019-11-09 19:01

u***@gmail.com

u***@gmail.com

目前来看唯一的办法是H5端调用国内高德/腾讯的api接口获取位置

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

  • 标题 / 粗斜体
  • 代码片段
  • 超链接 / 图片 / 视频
  • 列表 / 引用

文章内容较多时,可以用标题分段 :

## 大标题 
### 小标题

斜体 / 粗体 :

**粗体** 
*斜体*
***粗斜体***

代码片段 :

``` javascript
代码片段
```

超链接 :

[链接文字](链接地址) 例: [百度](http://www.baidu.com)

图片 :

![图片说明](图片地址) 例: ![百度logo](http://www.baidu.com/img/bdlogo.gif)

视频 :

!![视频说明](视频地址) 例: !![优酷视频](http://youku.com)

有序列表 :

1. 123
2. 123
3. 123

无序列表 :

- 123
- 123
- 123

引用 : ( 双回车后结束引用 )

> 引用内容
引用内容
引用内容