小程序 位置相关api

和定位相关的api需要在app.json中配置:
	"requiredBackgroundModes": [ "location"]	location: 后台定位
	
获取地理位置描述说明需要在app.json中配置:
	 "permission": {
	   "scope.userLocation": {
	     "desc": "你的位置信息将用于小程序位置接口的效果展示" 
	   }
	 }

1、开启小程序进入前后台时均接收位置消息,需引导用户开启授权
	授权:scope.userLocationBackground
	
	wx.startLocationUpdateBackground({
		type	wgs84:gps坐标;gcj02:返回可用于wx.openLocation的坐标
		success,...
	})

2、开启小程序进入前台时接收位置消息
	授权:scope.userLocation
	
	wx.startLocationUpdate({
		type	wgs84:gps坐标;gcj02:返回可用于wx.openLocation的坐标
		success,...
	})

2.5、关闭监听实时位置变化,前后台都停止消息接收
	wx.stopLocationUpdate({success,...})

3、使用微信内置地图查看位置
	wx.openLocation({
		latitude	纬度,范围为-90~90,负数表示南纬。使用gcj02国测局坐标系
		longitude	经度,范围为-180~180,负数表示西经。使用gcj02国测局坐标系
		scale		缩放比例,范围5~18
		name		位置名
		address		地址的详细说明
		success,...
	})

4、获取当前的地理位置、速度,当用户离开小程序后,此接口无法调用
	授权:scope.userLocation
	
	wx.getLocation({
		type				wgs84:gps坐标;gcj02:返回可用于wx.openLocation的坐标
		altitude			传入true会返回高度信息,由于获取高度需要较高精确度,会减慢接口返回速度	
		isHighAccuracy		开启高精度定位	
		highAccuracyExpireTime	高精度定位超时时间(ms),指定时间内返回最高精度,该值3000ms以上高精度定位才有效果
		success,...
	})

5、打开地图选择位置,支持模糊定位(精确到市)和精确定位混选
	授权:scope.userLocation
	
	wx.choosePoi({
		success
			type		选择城市时,值为1,选择精确位置时,值为2
			city		城市名称
			name		位置名称
			address		详细地址
			latitude	纬度,浮点数,范围为-90~90,负数表示南纬。使用gcj02国测局坐标系
			longitude	经度,浮点数,范围为-180~180,负数表示西经。使用gcj02国测局坐标系
		...
	})

6、打开地图选择位置
	授权:scope.userLocation
	
	wx.chooseLocation({
		latitude		目标地纬度	
		longitude		目标地经度	
		success
			name		位置名称
			address		详细地址
			latitude	纬度,浮点数,范围为-90~90,负数表示南纬。使用gcj02国测局坐标系
			longitude	经度,浮点数,范围为-180~180,负数表示西经。使用gcj02国测局坐标系
		...
	})

7、监听持续定位接口返回失败时触发
	wx.onLocationChangeError(fn)
	wx.offLocationChangeError(fn)	取消监听
	
8、监听实时地理位置变化事件,需结合 wx.startLocationUpdateBackground、wx.startLocationUpdate使用
	wx.onLocationChange(function(res){
		latitude		纬度,范围为-90~90,负数表示南纬。使用gcj02国测局坐标系	
		longitude		经度,范围为-180~180,负数表示西经。使用gcj02国测局坐标系	
		speed			速度,单位m/s	
		accuracy		位置的精确度	
		altitude		高度,单位m
		verticalAccuracy		垂直精度,单位m(Android无法获取,返回0)
		horizontalAccuracy		水平精度,单位m
	})
	
	wx.offLocationChange(fn)	取消监听

猜你喜欢

转载自blog.csdn.net/weixin_43294560/article/details/121741151