uni-app开发微信小程序时 - 地理位置接口流程调整

        在开发微信小程序时,控制台报“chooseLocation:fail the api need to be declared in the requiredPrivateInfos field in app.json/ext.json”错误,意思要使用chooseLocation前需要在requiredprivateinfo中先声明。

一、声明接口

        由于小程序地理位置很久未使用,查看文档了解到,自2022年7月14日起,开发者在使用地址位置相关接口时,需提前在app.json中进行配置。这里使用的是uni-app进行开发的项目,所以在manifest.json配置即可,代码如下:

/* 小程序特有相关 */
"mp-weixin" : {
	// 略...
	"usingComponents" : true,
	"lazyCodeLoading" : "requiredComponents",
	"optimization" : {
		"subPackages" : true
	},
	"requiredPrivateInfos":["getLocation"],
	"permission" : {
		"scope.userLocation" : {
			"desc" : "你的位置信息将用于小程序位置定位"
		}
	}
}

        如上所示,当getLocation在requirePrivateInfos中定义后,代码中则可以使用wx.getLocation获取位置信息了。permission中配置"scope.userLocation"作用是获取用户授权,requirePrivateInfos是授权API接口。

二、地址位置的配置

        地址位置需要配置的接口列表如下:

序号说明接口名称授权scope
1获取当前的模糊地理位置getFuzzyLocationscope.userFuzzyLocation
2获取当前的地理位置、速度getLocationscope.userLocation
3监听实时地理位置变化事件,需结合 wx.startLocationUpdateBackground、wx.startLocationUpdate使用onLocationChangescope.userLocation
4开启小程序进入前台时接收位置消息startLocationUpdatescope.userLocation
5开启小程序在前后台时均可接收位置消息,授权以后,小程序在运行中或进入后台均可接受位置消息变化。startLocationUpdateBackgrounscope.userLocationBackground
6打开地图选择位置chooseLocation/
7打开POI列表选择位置,支持模糊定位(精确到市)和精确定位混选choosePoi/
8选择地址信息chooseAddress/

三、添加位置选择 

        当我们需要打开地图选择位置时,则要使用到wx.chooseLocation接口。在调用前则需要在manifest.json事先声明后,再调用。代码如下:

/* 小程序特有相关 */
"mp-weixin" : {
	// 略...
	"usingComponents" : true,
	"lazyCodeLoading" : "requiredComponents",
	"optimization" : {
		"subPackages" : true
	},
	"requiredPrivateInfos":["getLocation", "chooseLocation"],
	"permission" : {
		"scope.userLocation" : {
			"desc" : "你的位置信息将用于小程序位置定位"
		}
	}
}

        如上配置表可见,使用wx.chooseLocation无须授权scope。当配置完后,执行wx.chooseLocation后,则可以打开下面的地图位置选择界面了。

如需更多的地址位置的使用,可去官网查看了解,如下图:

微信小程序开发文档地址:wx.getLocation(Object object) | 微信开放文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

觉醒法师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值