小元
博客
详情文字在这里缓缓展开
静候你翻开这一页

小程序获取定位失败

解决小程序使用getLocation方法获取定位失败,并产生报错fail the api need to be declared...

小程序获取定位失败


   前因:

       最近在开发某微信小程序时需要用到定位功能,获取用户地理位置加载附近门店,在开发工具调试时一直无法获取到位置,并产生报错,报错内容:fail the api need to be declared in the requiredPrivateInfos field in app.json/ext.json

       报错截图:

       1715238281480.png


   原因:

       自2022年7月14日起,在使用“getLocation”时需要先行声明,用户同意后才能获取到用户的位置。

       说明截图:

   1715238734325.png


       ? 微信小程序getLocation文档

       ? 小程序权限调整公告


   解决办法:

       uni-app在项目根目录下点击“manifest.json”,进入源码视图,找到”mp-weixin“配置项,并添加对应声明。

       添加声明:

    /* 小程序特有相关 */
    "mp-weixin" : {

        "usingComponents" : true,
		"requiredPrivateInfos": ["getLocation", "chooseLocation"],
		"permission": {
			"scope.userLocation": {
			    "desc": "您的位置信息将用于展示附近门店信息"
			}
		}
    },


       源码视图截图:

       1715238940002.png


       mp-weixin截图:

       1715239012007.png


       此时小程序获取定位成功并输出经纬度。

       小程序获取定位代码:

		onLoad() {
			uni.getLocation({
				type: 'wgs84',
				isHighAccuracy: true,
				success: function (res) {
					console.log('当前位置的经度:' + res.longitude);
					console.log('当前位置的纬度:' + res.latitude);
				},
				fail(er) {
					console.log(er)
				}
			});
		}

   

   如本文内容有所偏差或错误敬请谅解?,同时迎您在下面留言讨论,如本文怼你有所帮助请点个赞?再走吧~

渝ICP备2024031078号-1
本网站一切内容不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
如无意中侵犯了企业或个人的知识产权等,请及时通过电子邮件(1102905617@qq.com)告知我,本网站将会给予删除。
最新公告
😊访客你好,很高兴你的到来,本博客仍在建设中,还有些许功能尚在开发中,最后祝你在此能有所收获。
💥小元博客第三代自2025年9月上线以来,2026/08/09日迎来了它的第三次更新本次更新内容如下:
1. 文章详情页样式变更,由原来的弹窗改为单独的页面。
2. 使用Nuxt对项目进行了SEO优化,优化了搜索引擎的抓取和索引。
3. 对验签进行了优化,降低了请求被误触发拦截的概率。
4. 移动端也正在稳步推进中,在不久的将来会与大家见面。
5. 修复了首页黄历节日不显示的问题,以及其它bug的修复。