收藏
回答

在我的小程序中,点击”我的位置“报 请允许腾讯位置服务线路规划获取您的位置

问题类型 插件 AppID 插件版本号 AppID 操作系统 微信版本 基础库版本
Bug wx50b5593e81dd937a 1.0.3 wxa1e727d2688519d5 iOS 8.0.10 2.19.0

回答关注问题邀请回答
收藏

2 个回答

  • H1HAO 🇨🇳
    H1HAO 🇨🇳
    2021-08-11
    // 定位
    export function positioning() {
    	return new Promise((resolve, reject) => {
    		var that = this
    		uni.getSetting({
    			success(res) {
    				if (!res.authSetting['scope.userLocation']) {
    					uni.authorize({
    						scope: 'scope.userLocation',
    						success() {
    							uni.getLocation({
    								type: 'wgs84',
    								success: function(data) {
    									resolve(data);
    									// console.log('当前位置的经度:' + data.longitude, '当前位置的纬度:' + data.latitude)
    								},
    								fail() {
    									uni.showToast({
    										title: "定位失败!",
    										icon: "error"
    									})
    								}
    							})
    						},
    						fail() {
    							uni.showModal({
    								title: '授权提示',
    								content: '获取权限失败,需要获取您的地理位置才能为您提供更好的服务!是否授权获取地理位置?',
    								confirmText: "前往设置",
    								success: function(res) {
    									if (res.confirm) {
    										uni.openSetting({
    											success() {
    												uni.authorize({
    													scope: 'scope.userLocation',
    													success() {
    														uni.getLocation({
    															type: 'wgs84',
    															success: function(data) {
    																resolve(data);
    																// console.log('当前位置的经度:' + data.longitude, '当前位置的纬度:' + data.latitude)
    															},
    															fail() {
    																uni.showToast({
    																	title: "定位失败!",
    																	icon: "error"
    																})
    															}
    														})
    													},
    													fail() {
    														reject();
    													}
    												})
    											}
    										})
    									} else if (res.cancel) {
    										uni.showToast({
    											title: "用户授权失败!",
    											icon: "error"
    										})
    										reject();
    									}
    								}
    							});
    						}
    					})
    				} else {
    					uni.getLocation({
    						type: 'wgs84',
    						success: function(data) {
    							resolve(data);
    							// console.log('当前位置的经度:' + data.longitude, '当前位置的纬度:' + data.latitude)
    						},
    						fail(e) {
    							console.log(e)
    							uni.showToast({
    								title: "定位失败!",
    								icon: "error"
    							})
    						}
    					})
    				}
    			}
    		})
    	})
    }
    



    以上代码仅供参考,uni换成wx 调用后验证用户是否开启定位权限,第一次验证未授权弹窗授权,如果用户拒绝弹窗提示文字然后用户确定就去设置页手动打开(因为授权弹窗自动弹窗只会有一次,拒绝就不会弹出)

    2021-08-11
    有用
    回复
  • spider
    spider
    2021-08-11

    有授权微信位置权限以及开启手机定位吗?如果没有的话,打开试试看

    2021-08-11
    有用
    回复
登录 后发表内容