微信小程序通过uni.chooseLocation打开地图选择位置,相关设置及可能出现的问题

前言

uni.chooseLocation打开地图选择位置,看官方文档介绍的比较简单,但是需要注意的细节不少,如果没有注意可能就无法使用该API或者报错,下面就把详细的配置方法做一下介绍。

一、勾选位置接口

①在uniapp项目根目录找到manifest.json ②选择微信小程序配置 ③在微信小程序权限配置项,勾选位置接口,输入:你的位置信息将用于小程序位置接口的效果展示 勾选完位置接口后,可以点击manifest.json栏目内的"源码视图",可以看到在"mp-weixin"这个项目里面,自动添加了"permission"属性,在属性内创建了"scope.userLocation"用户地址的权限说明,说明的内容就是刚刚的第③步,说明可以直接勾选,也可以直接在源码视图中,复制下面的代码也是一样的。

javascript 复制代码
"permission": {
	"scope.userLocation": {
		"desc": "你的位置信息将用于小程序位置接口的效果展示"
	}
}

二、requiredPrivateInfos申明需要使用的地理位置相关接口

如果只是在manifest.json勾选了位置接口就直接调用uni.chooseAddress,在回调函数success中获取不到任何的值,但是在fail中打印错误信息,示例代码:

javascript 复制代码
uni.chooseAddress({
	success: (res) => {
		console.log(res);
	},
	fail(err) {
		console.log(err);
	}
});

会在fail报以上的错误:errMsg: "chooseAddress:fail the api need to be declared in the requiredPrivateInfos field in app.json/ext.json",出现以上错误,就是需要我们在源码视图的微信小程序属性中,申明需要使用的地理位置相关接口,如下所示:

javascript 复制代码
"requiredPrivateInfos": ["chooseLocation"]

设置了该属性之后,执行仍然会报错,需在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。

三、开通接口权限

在小程序后台,选择开发管理 -> 接口设置 -> 开通需要的api权限,填写一下申请接口理由,如实填写一下,等待审核。 提交申请后,大概工作日半天内就能审核通过,出现已开通,说明就可以使用这个api了。 主要: 在账号设置中,服务内容声明的"用户隐私保护指引",点击去完善。

再使用chooseLocation该API,就会获取到需要的值了,可以看到address详细地址、name位置名称、latitude纬度、longitude经度。

javascript 复制代码
uni.chooseAddress({
	success: (res) => {
		console.log(res);
	},
	fail(err) {
		console.log(err);
	}
});
相关推荐
跳动的梦想家h1 小时前
环境配置 + AI 提效双管齐下
java·vue.js·spring
Mr Xu_1 小时前
Vue 3 中 watch 的使用详解:监听响应式数据变化的利器
前端·javascript·vue.js
一 乐2 小时前
校园二手交易|基于springboot + vue校园二手交易系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端
科技D人生2 小时前
Vue.js 学习总结(20)—— Vue-Office 实战:word、pdf、excel、ppt 多种文档的在线预览
vue.js·word·vue-pdf·stylesheet·docx-preview·vue-office
vx1_Biye_Design2 小时前
基于Spring Boot+Vue的学生管理系统设计与实现-计算机毕业设计源码46223
java·vue.js·spring boot·spring·eclipse·tomcat·maven
vx_Biye_Design2 小时前
基于Spring Boot+vue的湖北旅游景点门票预约平台的设计--毕设附源码29593
java·vue.js·spring boot·spring cloud·servlet·eclipse·课程设计
hedley(●'◡'●)2 小时前
基于cesium和vue的大疆司空模仿程序
前端·javascript·vue.js·python·typescript·无人机
qq5_8115175152 小时前
web城乡居民基本医疗信息管理系统信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】
前端·vue.js·spring boot
百思可瑞教育2 小时前
构建自己的Vue UI组件库:从设计到发布
前端·javascript·vue.js·ui·百思可瑞教育·北京百思教育
百锦再2 小时前
Vue高阶知识:利用 defineModel 特性开发搜索组件组合
前端·vue.js·学习·flutter·typescript·前端框架