1***@qq.com
1***@qq.com
  • 发布:2019-03-13 16:44
  • 更新:2020-10-12 16:02
  • 阅读:19630

uni-app ,uni.getLocation在手机浏览器中使用,无法获取当前定位

分类:uni-app

如题,是由于一下原因吗?

Tips
H5 端获取定位信息,需要部署在 https 服务上,本地预览(localhost)仍然可以使用 http 协议。(这个可以排除,因为扫了官方的demo的二维码,手机浏览器也不能获取当前位置)
无 GPS 模块的 PC 设备使用 Chrome 浏览器的时候,位置信息是连接谷歌服务器获取的,国内用户可能获取位置信息失败。

因为要做个手机网站,使用uni-app,有没有获取定位的其他方案呢?

2019-03-13 16:44 负责人:无 分享
已邀请:
孟孟

孟孟

uni.getLocation 可以获取经纬度 但是我想渲染到页面 把成功回调的经纬度赋值到data里面就会报错(报错信息:thirdScriptError undefined is not an object (evaluating 'this.city = res.address.city');at pages/index/index onLoad function;at api getLocation success callback function)
大神能帮我解决一下么

DCloud_heavensoft

DCloud_heavensoft

uni-app在h5侧,用的就是标准h5的定位。如果获取不到定位信息,不是uni-app的问题。检查如下:

  1. 检查手机是否开了定位。定位有GPS定位和基于基站、wifi的模糊定位,注意最好都开了。
  2. 手机是否给浏览器赋予定位权限
  3. 浏览器打开网页时弹框没有给网页赋予定位权限,那就无法定位
  4. 在新的浏览器上,几乎都要求https。非https页面都不让访问定位
    尽量不要在pc浏览器上测试定位,pc上建议用HBuilderX自带的内置浏览器测试。
  • 1***@qq.com (作者)

    刚刚测试了一下,原来要手机提前打开GPS,如果uni.getLocation失败了,再打开GPS也获取不到,要在刷新一下页面,否则还是失败。

    2019-03-13 17:10

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

    顺便问一下,知道了经纬度,手机网站有没有接口获取详细地址中文描述呢?看文档好像只支持APP和小程序呢!

    2019-03-13 17:12

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

    我知道咋弄了,感谢,https://restapi.amap.com/v3/geocode/regeo?key=key&location=经纬度

    2019-03-13 17:18

  • devil_whl

    回复 1***@qq.com: 怎么操作啊,兄弟

    2019-10-18 18:02

  • Min_Orange

    回复 1***@qq.com: 您好 问一下 您的定位偏差大么

    2020-08-25 09:36

9157654

9157654 - 程序员

请问,如何在H5中获取当前的经纬度

  • DCloud_heavensoft

    uni.getLocation

    2019-07-04 18:49

  • 9157654

    回复 DCloud_heavensoft: 试过了,但是还是获取不到经纬度

    2019-07-05 12:01

  • 1***@qq.com

    回复 9157654: 现在可以了吗 我也遇到了同样的问题

    2019-08-17 10:23

  • 9157654

    回复 1***@qq.com: 不行

    2019-08-22 16:33

  • 1***@qq.com

    回复 9157654:你好,你这问题处理了吗?我现在正为次发愁呢,试了好多都不执行success下的代码

    2019-10-06 15:06

  • 1***@qq.com

    回复 9157654: 你好 请问问题解决了嘛 我掉进去好久了

    2019-11-23 16:01

  • 1***@163.com

    回复 1***@qq.com: 请问解决了吗

    2019-11-25 13:46

  • 3***@qq.com

    回复 DCloud_heavensoft: 该API确实存在问题,浏览器位置允许;然后为了包装Google地址被墙的问题,我还开启了VPN的,API方法在执行,但一直无响应(success、fail、complete三个回调函数均未执行) 请官方核对一下,谢谢

    2020-01-16 20:49

  • DCloud_heavensoft

    回复 3***@qq.com: https://uniapp.dcloud.io/h5/pages/API/get-location/get-location,手机访问这个地址,测了很多手机,都是正常的

    2020-01-17 00:07

  • 1***@qq.com

    回复 DCloud_heavensoft:我也测了,pc web一直fail,HbuilderX内置浏览器可以,华为手机百度、qq浏览器可以,会提示授权弹框,自带浏览器(包括模拟器)有些页面都没加载出来(显示网络不给力,点击屏幕重试),可能版本低兼容性不够,另外我的需求是原生app通过webview内嵌H5页面,本地测试没有启用https协议,然后真机测试也是一直{errMsg: "getLocation:faill"}(确保gps和wifi已开)

    2020-03-12 09:13

  • DCloud_heavensoft

    回复 1***@qq.com: 这种情况,你只能让原生去解决,你的前端代码没问题,调用的是标准h5的定位。当然最好的方式,是直接集成uni小程序sdk,不要内嵌h5,而是内嵌小程序进去,体验会更好

    2020-03-13 04:16

  • 1***@qq.com

    回复 DCloud_heavensoft: 多谢您的建议,我下载官网DEMO hello-uniapp本地运行到浏览器,会返回地址,然后通过原生app内嵌访问这个地址,也是不行。另外我直接原生访问官方提供的https://uniapp.dcloud.io/h5/pcguide.html#/h5/这个链接,里面的获取当前位置经纬度是可以的。所以,我想是不是跟http和https有关呢?

    2020-03-13 15:46

  • 刚0810

    回复 1***@qq.com: 怎么解决的,大佬

    2020-05-13 11:13

  • 1***@qq.com

    回复 刚0810: 还没解决呢,暂由原生提供

    2020-05-20 16:22

  • y***@163.com

    回复 DCloud_heavensoft: 试了你说的那个官网 用手机访问 是不行的

    2020-07-08 19:28

  • Min_Orange

    回复 DCloud_heavensoft: 拿到的经纬度地址与实际偏差很大怎么办

    2020-08-24 17:51

龙大婷

龙大婷 - 熟悉原生开发和web开发

为啥我用 内中浏览器 获取坐标 uni. getLocation api 都不执行进去 坐标更没有了

  • w***@163.com

    我也是这种情况,有解决方法吗

    2019-09-24 09:33

  • 龙大婷

    回复 w***@163.com: 需要模拟器预览

    2019-09-24 18:01

  • devil_whl

    回复 龙大婷: 我的在手机浏览器打开uni. getLocation 也没执行

    2019-10-18 17:00

  • 大傻智

    回复 devil_whl: 我也是这样,访问的本地的ip地址访问页面,也是获取不到地址,请问解决了吗

    2019-12-19 17:55

  • 1***@qq.com

    我的也是。直接失败

    2019-12-25 13:45

xianjuns

xianjuns - 这人很懒

必须使用https网址?那怎么测试啊

l***@100true.com

l***@100true.com

我用getLocation 我在海淀区,西二旗,给我定位到天安门了,误差太大了吧

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