本文由博客群发一文多发等运营工具平台OpenWrite发布

对于用户授权的定位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
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论