前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >开发微信H5获取位置失败,可能是这两个原因

开发微信H5获取位置失败,可能是这两个原因

作者头像
大风写全栈
发布2025-01-08 11:16:57
发布2025-01-08 11:16:57
31700
代码可运行
举报
文章被收录于专栏:锤子代码锤子代码
运行总次数:0
代码可运行

获取位置

最近在开发微信H5(就是运行在公众号里面的网页)。

有个功能需要获取用户当前经纬度,想的也很简单。

直接从官方文档去看,应该就有。

该说不说,确实有。

但还是疏漏了,打开调试工具。

异常信息醒目:

getLocation:fail, the permission value is offline verifying

想获取位置,门都没有(没权限)。

具体原因

1. 开发者工具不支持获取位置

这不可能啊,毕竟这么基础的功能,咋可能不支持。

找到个测试网页,可以在开发者工具中打开。

https://www.weixinsxy.com/jssdk/

果然可以获取位置。

只是会弹出授权提示(不完美)。

2. 权限没申请

在jsApi的文档中,有个jsApiList数组,值为需要使用的JS接口列表(1)。

检查了一下我的代码,确实没配置。

果断加上,getLocation配置,大功告成。

加上之后的配置如下,:

代码语言:javascript
代码运行次数:0
复制
jWeixin.config({
	debug: false,
	appId, // 
	timestamp,
	nonceStr,
	signature,
	jsApiList: ['chooseWXPay','getLocation'] // 微信支付,获取定位
});

获取定位:

代码语言:javascript
代码运行次数:0
复制
jWeixin.getLocation({
  type: 'gcj02',
  success: function (res) {
     console.log(JSON.stringify(res));
     let latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90
     let longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。
     let speed = res.speed; // 速度,以A米/每秒计
     let accuracy = res.accuracy; // 位置精度
  }
});

果然不能大意,为啥?

因为大意失荆州啊~


1: 微信jsApi官方文档-配置

https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#4

2: 微信jsApi官方文档-JS接口列表

https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#63

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-01-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 锤子代码 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档