在微信小程序开发过程中获取位置信息
微信小程序开发
小程序开发
数据处理
浏览:600 次

微信小程序开发过程中的坐标获取
作者:子畅
微信小程序开发可以根据getLocation获取用户的地理位置信息,包括经纬度、移动速度和海拔信息,或者使用onLocationChange实时获取位置。经过测试,坐标和高度相对准确。
鉴于一些学生提到的关于大坐标误差的问题:首先,这个问题可能在开发人员的工具中遇到。原因是计算机中没有GPS模块,因此无法准确获取位置。一般情况下,通过IP位于行政区域;其次,坐标格式使用不正确。微信提供了两种格式:wgs84和gcj02。前者是全球GPS系统使用的标准格式,后者是中国测绘局发布的国家标准。他们的定位有一定的偏差。这要求开发人员以获取坐标的方式分析坐标;也可以在坐标变换后进行分析。
1.获取当前位置
可以通过以下方法直接获得授权定位的用户:
wx.获取位置({
类型:“wgs84”,
isHighAccuracy:真,
海拔高度:真,
成功(res){

cosnole.log([相对长度,相对高度])
},
})
如果您不确定用户是否启用了位置权限,则应通过两种方式处理:
1.如果用户从未同意或拒绝授权位置权限,他/她可以通过授权直接发起授权。授权成功后,他/她可以获得位置信息。
2.为了更好的用户体验,当用户第一次放弃定位授权时,微信在后续使用过程中不会向用户发布授权。这需要引导用户启用位置权限。如果在授权过程中提示“authorize:fail…”,则可以引导用户通过openSetting启用授权。授权后,用户可以获取位置信息
2.获取实时位置
实时位置信息还需要用户授权;
微信提供onLocationChange来监控实时位置信息,需要与stopLocationUpdate(小程序前台运行时监控)和startLocationUpdateBackground(小程序后台运行时监控
//实时回调
locationChangeFn=函数(res){

安慰日志(“位置更改”、res.latitude、self.location)
}
wx.start位置更新({
成功(res){
wx。onLocationChange(位置更改Fn)
},
失败(错误){
},
})
//离开时记得关闭监控
wx.offLocationChange(位置更改Fn)

注:由于天气、建筑物、数据传输、数据处理等各种原因,实时定位响应有点慢,通常需要5秒钟才能返回到新坐标。