小程序
小游戏
企业微信
微信支付
扫描小程序码分享
如:在openSetting设置定位授权,回调结果后马上调用getLocation会出现没有授权,使用延迟调用可以正常调用。
初步判断,openSetting的结果是异步发送至微信后台,马上调用getLocation的话会出现授权结果不一致。
请问有什么解决方案?
6 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
确实如你猜测的,操作结果是异步写到微信后台的。我们在考虑方案,后续解决此类问题。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
求解答
wx.getLocation({
type: 'wgs84',
success: function (res) {
// 第一次在设置页面允许授权后,再次获取不会走success, 第二次在设置页面允许会走success
},
fail: function (e) {
// 第一次在设置页面允许授权后,返回获取权限会走fail函数(其实应该是success)
wx.getSetting({
success(res) {
// 这时候 res.authSetting['scope.userLocation'] 值为true 可以进行判断
res.authSetting['scope.userLocation']) == true
}
})
<button open-type="openSetting" bindopensetting="callback">
这里有callback,可以实时获取到用户的授权结果,只能在回调里处理了,getSetting不实时
我是用openSetting接口的
我使用callback,权限返回的也是true,但是还是无法调用wx.getLocation api。
说起来遇见过一个跟你类似的问题,他也是openSetting设置授权后,回来第一次getLocation会失败,接下来的第二次会成功,。。
https://developers.weixin.qq.com/community/develop/doc/00042a94240d70872277518f351000
官方没来回答原因。。
应该不止我们两个会这样吧?霄霄大神不会出现这种问题吗?
没用这个API呢。。我只用了openLocation。。哈。。哈哈。。
哈哈哈,好吧。感谢回答!
位置着两个字能改成具体的地址嘛
大神求帮忙,位置两个字可以变成具体的地点名称嘛???
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
确实如你猜测的,操作结果是异步写到微信后台的。我们在考虑方案,后续解决此类问题。
求解答
wx.getLocation({
type: 'wgs84',
success: function (res) {
// 第一次在设置页面允许授权后,再次获取不会走success, 第二次在设置页面允许会走success
},
fail: function (e) {
// 第一次在设置页面允许授权后,返回获取权限会走fail函数(其实应该是success)
wx.getSetting({
success(res) {
// 这时候 res.authSetting['scope.userLocation'] 值为true 可以进行判断
res.authSetting['scope.userLocation']) == true
}
})
}
})
<button open-type="openSetting" bindopensetting="callback">
这里有callback,可以实时获取到用户的授权结果,只能在回调里处理了,getSetting不实时
我是用openSetting接口的
我使用callback,权限返回的也是true,但是还是无法调用wx.getLocation api。
说起来遇见过一个跟你类似的问题,他也是openSetting设置授权后,回来第一次getLocation会失败,接下来的第二次会成功,。。
https://developers.weixin.qq.com/community/develop/doc/00042a94240d70872277518f351000
官方没来回答原因。。
应该不止我们两个会这样吧?霄霄大神不会出现这种问题吗?
没用这个API呢。。我只用了openLocation。。哈。。哈哈。。
哈哈哈,好吧。感谢回答!
位置着两个字能改成具体的地址嘛
大神求帮忙,位置两个字可以变成具体的地点名称嘛???