问题 1:开发版本间断点击获取定位,会报错
【起因】:
高德地图的 api 应用的是 wx.getLocation,而小程序中 wx.getLocation 在开发版本、体验版本,间断调用会进行报错。生产版本会应用缓存,不会呈现这个问题,详见:
https://developers.weixin.qq….
【解决办法】:
须要辨别版本进行解决,在生产版本不进行限度,在开发体验版本进行节流解决,30S 内点击不进行解决或者提醒获取过于频繁。
问题 2:用户回绝受权定位之后,不做相干解决,再次 wx.getLocation 不会弹出受权页面
【起因】:微信小程序设计如此。
【解决办法】:
在定位操作之前,去判断用户是否有受权定位权限,如果没有,提醒用户受权,关上设置页面。
(ps. 怪不得买奶茶之类的小程序一进来就先要求受权定位,都是为了避免之后的没有权限的问题)
代码如下:
let _this = this;
wx.getSetting({success(res) {if (!res.authSetting['scope.userLocation']) {
wx.authorize({
scope: 'scope.userLocation',
success() {_this.throttleGetLocation(); // 有权限间接获取定位
},
fail(err){ // 没有权限关上设置
_this.$modal.alert({
title: '提醒',
content: '检测到您没关上定位性能权限,是否去设置关上?',
okFun: () => {
wx.openSetting({success(res) {}})
}
});
}
})
}
})
问题 3:调试状态下获取地址胜利,非调试状态获取不胜利
【起因】:没有设置高德地图 api 的域名
【解决办法】:在微信公众平台设置域名 https://restapi.amap.com