我在app.js中调用了getlocation,然后用腾讯地图sdk接口,将位置所在的市存储起来,在后续中调用,
如果用户点击拒绝,就会在某一个页面调用wx.opensetting这个接口,在回调中,重新或许地址,奇怪的是,我在开发工具上,在手机打开调试的情况下,回调就可以重新获取到地理位置,但是手机一旦关闭调试,就获取不到了,我用了setTimeOut这个方法延迟后续操作,根本没用。
代码片段:
onReady: function () {
var that=this
if (wx.getStorageSync('location')) {
this.setData({
city: wx.getStorageSync('location'),
allShow:true,
hasCity: true,
})
getLimition(that)
} else {
setTimeout(function(){
wx.openSetting({
success: (res) => {
if (res.authSetting["scope.userInfo"] || res.authSetting["scope.userLocation"]) {
that.setData({
hasCity: true,
loaded: false,
})
setTimeout(function(){
if (wx.getStorageSync('location')) {
that.setData({
city: wx.getStorageSync('location'),
})
} else {
that.setData({
city: '宝鸡',
})
}
getLimition(that)
},5000)
}
}
})
},2000)
}
},
如上代码,我本应该获取到的地理位置是西安,如开发者工具和手机在打开调试的情况下,
但是在手机关闭调试下,我的位置一直是‘宝鸡’,‘宝鸡’是我手动写上去的。
是否依赖了某个请求,而这个请求的域名没有加入可信域名
嗯嗯,已经解决了,感谢。
同问,问题解决了吗
看一楼答案,要用button去调用,然后我当时忘记配置域名了,检查域名
你好,这里有一点需要注意下哦
参考文档:
https://developers.weixin.qq.com/miniprogram/dev/api/setting.html
换用了,可惜还是那样,真机上就是不重新获取地理位置。。。。