最近需求允许小程序打开地图位置来选择详细地址。貌似wx.chooseLocation()可以实现。很自信的就进行开发。开发完在手机上测试bug来了。苦逼的开启翻阅开发文档。。。
踩坑一:
wx.chooseLocation()获取地理位置。授权弹窗是否允许获取地理位置,点击不允许,发现接下来的n此触发都不会在弹起授权弹窗,直接fail。原来不卸载小程序,此时小程序不会再次弹起授权弹窗。了。
解决办法:在fail里面自定义弹窗,引导用户授权。
踩坑二:
自定义引导用户进行授权,让用户开启允许地理位置。发现开发工具和手机上还不一样。。what?
手机上的显示只有一个用户信息,没有开启地理位置按钮。。
开发工具上很完美的可以开启地理位置按钮。。
原来是:app.json里面加上配置:
"permission": {
"scope.userLocation": {
"desc": "你的位置信息将用于小程序位置接口的效果展示"
}
}
主代码实现逻辑用户点击事件触发:
第一步检测用户有没有授权wx.getSetting(),没有授权就发起授权请求wx.authorize(),此时会出现弹窗:如果点击允许就会进入地图进行选择&#x