uniapp map位置未授权,提示授权

getLocation(x, y, name) {
			// 传值判断x、y轴是否准确
			if(!x || !y) {
				uni.showToast({
					icon:none,
					title:'位置信息不准确无法导航',
					duration:2000
				})
				return
			}
			let than = this;
			uni.getSetting({
				success(res) {
					if (res.authSetting['scope.userLocation']) {
						console.log("userLocation位置功能已授权")
						// 如果已授权,直接获取对应参数
						uni.getLocation({
						    type: 'gcj02', //返回可以用于uni.openLocation的经纬度
						    success: function (res) {
						        const latitude = y;
						        const longitude = x;
						        uni.openLocation({
						            latitude: latitude,
						            longitude: longitude,
									name: name,
						            success: function (res) {
						                console.log('success', res);
						            }
						        });
						    }
						});
					} else if (!res.authSetting['scope.userLocation']) {
						// 说明此时要获取的位置功能尚未授权,
						// 则设置进入页面时主动弹出,直接授权
						uni.authorize({
							scope: 'scope.userLocation',
							success(res) {
								// 授权成功
								console.log(res)
								// 成功后获取对应的位置参数
								uni.getLocation({
									success(res) {
										console.log(res)
									}
								})
							},
							fail() {
								console.log("位置授权失败")
								uni.showModal({
									content:'检测到您没打开获取信息功能权限,是否去设置打开?',
									confirmText: "确认",
									cancelText:'取消',
									success: (res) => {
										console.log(res)
										if(res.confirm){
											uni.openSetting({
												success: (res) => {
													console.log(res);
												},
												fail: (err) => {
													console.log(err)
												}
											})
										}else{
											console.log('取消');
										}
									}
								})
							}
						})
					}
				},
				fail() {
					console.log("获取授权信息授权失败")
				}
			})
		},
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值