<button bindtap='openSetting'>打开设置</button>
界面中使用了一个按钮,触发 打开设置,在手机端授权后(这里授权了定位),点左上返回后,这时调用wx.getLocation()依然会失败,需要再打开设置界面,再返回,这时才能调用成功(而且偶尔调用成功了,经纬度返回的是0的情况)。而在PC开发时,是可以调用成功的。这应该算是API BUG吧。
这里使用getsetting获取到定位权限后,再去调用location api ,依旧会调用不到。
已经想办法解决了,记录下,可以参考下我的方法:
使用
<button open-type='openSetting' bindopensetting='openSetting'>打开设置</button>
在回调中
e.detail.authSetting["scope.userLocation"]
当true 时就调用。
上传到体验版才会生效。折腾了好半天。坑啊。
就算setsetting()是异步的接口,那么我调用 了getsetting() 返回了已经授权,那么这时调用wx.getlocation() 为啥也会错误呢?
这个。。官方回了。。openSetting设值这个。。是异步到微信服务器的。。所以立即返回后使用,没权限。。
请问有那个官方回复的链接吗?应该会有个回调什么的吧,不然这种业务情景下,岂不实现不了了。
官方也没说怎么弄。。你试试getLocation失败的时候再来一次呢。。
我去给你找链接。。虽然官方也没说啥。。稍等
https://developers.weixin.qq.com/community/develop/doc/000c0cc59ac7b8ecf997df3b65b000?highLine=getLocation
这确定不是你返回太快了,系统设置数据还没刷新
你找我的是哪个QQ,没有看到有消息哎
我???
是呀
不是找你....
昨天就找你了 你没回