uniapp- 使用 uni-getLocation 用户拒绝之后引导用户开启定位流程

这篇具有很好参考价值的文章主要介绍了uniapp- 使用 uni-getLocation 用户拒绝之后引导用户开启定位流程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

注意:

1.用户手动授权定位, uni-getLocation  可以使用, 其他定位,请查阅,是否需要用户手动授权

2.用户在第一次使用需要获取定位的地方,拒绝之后才会拉起下面的这些数据的请求

3. 开发者测试 每次使用都需要清除缓存

4.小程序使用时候,没有触发 uni-getLocation  函数 , (小程序设置—位置消息)这个选择项不会显示到设置里面的,必须要触发一次才会展示

uni-getLocation  拒绝之后引导用户开启流程

1. 在调用 uni-getLocation 接口 (被用户拒绝,相当调用失败)在   fail:  里面请求 this.getSetting()  

map(){

				//wx.chooseLocation
				uni.getLocation({
					type: 'gcj02',
					// type: 'wgs84',
					success: (res) => {

						this.lon = res.longitude
						this.lat = res.latitude

				

					},
					fail: error => {
						// console.log("获取定位失败了", error)

						// uni.showToast({

						// 	title: '你拒绝了授权,无法操作内容,请返回上一页',
						// 	icon: "none",
						// 	duration: 3000,
						// })
						this.getSetting()
					}
}

2. 用户权限列表-  和引导用户手动开启定位 

// 1.获取设置信息-用户权限列表
			getSetting() {

				uni.getSetting({
					success: res => {
						console.log('用户权限列表:', res.authSetting)
						if (res.authSetting['scope.userLocation']) {
							console.log('已授权userLocation')
							// 选择位置信息
			this.map()------------------------------------ 重新调取uni.getLocation
						} else {
							console.log('用户未授权userLocation')
							//2.用户第一次进来发起授权
							uni.showModal({
								title: '提示',
								content: '当前定位未开启,请点击确定手动开启定位',
								duration: 3000,
								success: (res) => {
									if (res.confirm) {
     	this.openSetting()---------------------------------点击确定引导客户开启定位
									} else if (res.cancel) {
										uni.showToast({

											title: '你拒绝了授权,无法获取医院信息',
											duration: 2000,
											icon: "none"
										});
									}
								}
							});
						}
					}
				})
			},

			// 4.打开设置
			openSetting() {

				uni.openSetting({
					success: (res) => {

						if (res.authSetting['scope.userLocation']) {

							// 5.用户在设置中点击了允许,调用选择位置信息函数

		this.map()------------------------------------ 重新调取uni.getLocation
						} else {

							// 5.用户在设置中点击了不允许,展示拒绝授权信息
							uni.showToast({

								title: '你拒绝了授权,无法操作内容',
								icon: "none",
								duration: 3000,
							})
						}
					},
					fail: (err) => {
						console.log("打开设置失败", err)
					}
				})
			},

手动开启定位的位置 如图:

getlocation uniapp,大数据,前端,javascript,微信小程序,vue

getlocation uniapp,大数据,前端,javascript,微信小程序,vue

getlocation uniapp,大数据,前端,javascript,微信小程序,vue

getlocation uniapp,大数据,前端,javascript,微信小程序,vue

getlocation uniapp,大数据,前端,javascript,微信小程序,vue

注意:如有不足之处,请谅解文章来源地址https://www.toymoban.com/news/detail-517766.html

到了这里,关于uniapp- 使用 uni-getLocation 用户拒绝之后引导用户开启定位流程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uni_app授权登录及授权麦克风防止用户点击拒绝按钮,权限无法再次被挂起。

    在用uni-app开发小程序的时候我们经常会遇到,需要授权的时候,用户没有点击确认按钮,然后用户再次点击的时候,系统默认执行失败回调函数,权限获取无法再次被挂起。 1、授权登录 先调取uni.getUserProfile  设置desc: \\\'Wexin\\\' 再调去uni.login 然后用返回的code码向接口换取open

    2024年02月09日
    浏览(62)
  • uniapp - 微信小程序新版本发布之后用户端怎么更新?updateManager ?

    微信小程序在版本更新后,从上面标题栏进去,发现还是没有更新,存在缓存问题 这就要说到微信小程序更新机制 解决办法--微信提供的wx.getUpdateManager()(我的uniapp)uni.getUpdateManager(),链接:uni.getUpdateManager() | uni-app官网 1)定期检查发现版本更新 微信运行时,会定期检查最近使

    2024年02月06日
    浏览(57)
  • uni.getLocation和wx.getLocation方法调用无效,也不返回失败,解决方案!!!

    线上已解决问题的代码 记录时间 2022.12.10 desc 的位置对应用户授权时候的提示 插入 代码 简述过程 属实被坑了一下午。 开发微信小程序,看之前的网课。可以直接通过一下的代码成功打印出经度维度。然后一样的代码 没有任何反应,也不报错。起初以为是 微信小程序开发工

    2024年02月02日
    浏览(35)
  • uni-app(微信小程序)获取当前位置uni.getLocation

     1、微信公众平台  开发  开发管理   2、开通之后到项目文件    3、下载腾讯地图插件并引入到文件中    

    2024年02月11日
    浏览(62)
  • uni-app微信小程序uni.getLocation获取经度纬度【定位】

    需求:点击按钮获取当前微信位置,以及点击拒绝授权后,下次点击还可以拉起授权窗口; 拒绝授权后重新拉起授权操作: 直接授权操作: 原因:因为微信小程序从2019年1月14日起新提交发布的版本若未填写地理位置用途说明,则将无法正常调用地理位置相关接口; 解决办

    2024年04月09日
    浏览(49)
  • uni.getLocation获取定位fail报错问题汇总

    uni.getLocation(OBJECT) 获取当前的地理位置、速度。 fail返回的对象 errMsg 可能返回的值如下: 解决方案可以参考 微信小程序获取地理位置失败原因及解决方案

    2024年02月12日
    浏览(34)
  • uni.getLocation和wx.getFuzzyLocatio解决获取不到位置 。

    uni.getLocation(OBJECT) | uni-app官网 地理位置接口新增与相关流程调整 | 微信开放社区 全局配置 | 微信开放文档 官方说明 1.微信开发者工具必须默认装C盘1/   2.检查代码支持基本库问题越低越好 3.wx.getFuzzyLocation使用步骤 wx.getFuzzyLocation({             type: \\\'wgs84\\\',             suc

    2024年02月14日
    浏览(42)
  • uniapp微信小程序调用 getLocation 失败检查方法

    1、检查小程序 平台 request合法域名 加入:https://apis.map.qq.com 2、uniapp manifest.json 源码 必须加入 \\\"permission\\\" : {             \\\"scope.userLocation\\\" : {                 \\\"desc\\\" : \\\"获取当前位置用于排列展示\\\"             }         },         \\\"requiredPrivateInfos\\\" : [ \\\"getLocation\\\" ] 3、调试基

    2024年02月11日
    浏览(70)
  • uniapp微信小程序getLocation获取经纬度报错

    uniapp开发微信小程序时,需要做一个授权位置信息的需求,使用getLocation获取用户当前的经纬度。期间遇到了一个问题老是报这个错误:“getLocation:fail the api need to be declared in the requiredPrivateInfos field in app.json/ext.json” 根据官方文档 https://developers.weixin.qq.com/miniprogram/dev/api/loc

    2024年02月13日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包