问题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