对于用户授权的定位gps坐标转换小程序坐标,可以通过以下方式直接获取:
wx.getLocation({
type: 'wgs84',
isHighAccuracy: true,
altitude: true,
success (res) {
cosnole.log([res.longitude, res.latitude])
},
})
对于不确定用户是否开启了位置权限的,分两种情况处理:
1、从未同意或拒绝授权位置权限的用户可以直接通过authorize发起授权,授权成功后即可获取位置信息。
2、由于微信更好的用户体验,当用户第一次放弃授权和定位权限时,在后续使用过程中gps坐标转换小程序坐标,不会给用户授权。这需要引导用户启用位置权限。如果在授权时提示authorize:fail …,可以通过openSetting引导用户开启授权,授权后用户可以获取位置信息。
2、获取实时位置
实时位置信息也需要用户授权;
微信提供onLocationChange监控实时位置信息,需要结合stopLocationUpdate(小程序在前台运行时监听)和startLocationUpdateBackground(小程序在前台和后台运行时监听)配合使用,如下:
注:实时定位响应稍慢,五秒后即可返回新坐标。原因有很多,比如天气、建筑物、数据传输、数据处理等等。
本文由博客群发、多发等操作工具平台OpenWrite发布。
© 版权声明
THE END
喜欢就支持一下吧
请登录后发表评论
注册
社交帐号登录