乐趣区

关于小程序:小程序开发踩坑定位及高德地图api相关

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

退出移动版