微信小程序开发过程中获取位置信息

微信小程序开发过程中获取位置信息,第1张

微信小程序开发可根肢码据 getLocation 获取用户的地理位置信息,包含经纬度、移动速度、海拔信息,也可使用 onLocationChange 实时获取位置。测试了一下,坐标和海拔还是比较准确的。

鉴于部分同学提到坐标误差大的问题:其一,可能是在开发者工具中遇到该问题,原因是电脑中没有gps模块,无法准确获取位置,一般通过ip定位到行政区域;其二,坐标格式没有正确使用,微信提供了两种格式 wgs84 和 gcj02 ,前者是全球GPS系统使用的标准格式,后者是中国测绘局公布的国标,两者定位岩扒有一定偏差。这就要求开发者以何种方式获取的坐标,就应以何种方式解析;也可对坐标转换后再解析。

对于用户已授权定历枣哪位的可直接通过以下方式获取:

对于不确定用户是否已开启定位权限的,应该分两种情况处理:

1、用户从未同意或拒绝授权定位权限的,可直接通过 authorize 发起授权,授权成功后即可获取位置信息。

2、由于微信为了更好的用户体验,当用户第一次放弃授权定位权限后,在此后使用的过程中,不会再向用户发起授权。这就需要引导用户开启定位权限。若 authorize 时提示 authorize:fail ... ,可通过 openSetting 引导用户开启授权,用户授权后即可获取位置信息

实时位置信息同样需要用户授权;

微信提供了 onLocationChange 来监听实时位置信息,需要结合 stopLocationUpdate ( 小程序前台运行时监听 )、 startLocationUpdateBackground ( 小程序前后台运行时监听 ) 使用,如下:

注:实时定位反应稍微慢一点,一般五秒后才能返回新的坐标,原因是多方面的,比如天气、建筑物、数据传输、数据处理等等。

地图组件用于展示地图,而定位API只是获取坐标,请勿混淆两者,下面这篇文章主要给大家介绍了关于如何使用Uniapp实现微信小程序的GPS定位打卡的相关资料,需要的朋友可以参考下

写在开头

哈喽,隔了几天没写文章,小编又回来了(ω)。最近接了一个校园的需求,主要功能是希望学生每天进行定位打卡,帮助毁册班导确认学生是否在校的情况。

上面图片是大致的交互过程,定位打卡是个比较常见的功能了,只是很多时候都是在 APP 上完成的,这次需求方是希望专门做个小程序来使用,当然,整个小程序还有其他很多功能模块,本章我们先来分享一下定位打卡功能,前端具体需要做哪些事情。

开通相关API权限

首先,因为这次定位打卡功能使用的是 GPS 来定位的,这就需要获取用户的地理位置信息。在小程序中,要纤闹宏获取用户的地理位置,微信官方提供了部分 API ,但是这些 API 有权限要求,我们需要先登陆 小程序后台 去申请。

登陆后,按路径「开发」-「开发管理」-「接口设置」中找到相关 API ,填写你使用 API 的理由,提交申请即可。

本次的功能小编一共会使用到了以下两个 API :

wx.chooseLocation:用于打开微信小弯早程序自带的地图,能选择一个位置,获取目标位置的经纬度。

wx.getLocation:用于获取用户当前所在的地理位置信息,主要为了拿到经纬度;不过,这个 API 有点难申请通过,小编也是申请了三次才过的,真是挺麻烦-.-,好像一般小程序主体是政府、学校或者大企业等机构就比较容易通过(●—●)。

API 权限申请好了后,我们就能进入正题了,开始正式的编码工作

正常来说野神,如果某个小程序需梁悄要你授权位置信橡脊渣息,会在使用时d出授权申请窗口,点击确定即可完成授权。

如果是之前拒绝过或者自己想要 *** 作授权的,可以按照下面的步骤自己去主动开启授权。

点击进入小程序——点击右上角【…】图标—— 先点击右上角的【…】——点击底部的“设置”进入权限设置界面——点击位置信息——勾选在使用小程序期间使用,即可完成授权位置信息。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12546935.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-26
下一篇2025-08-26

发表评论

登录后才能评论

评论列表(0条)

    保存