小程序通过微信提供的API方法获取手机当前位置(经纬度)。
小程序请求后端获取经纬度对应的城市等详细位置信息,后端调用地图服务(高德地图)根据经纬度查询地理编码信息。
定位成功在小程序首页显示定位的城市。
1. 小程序端
1.1 获取用户授权
微信小程序使用定位功能时,需要先获取用户的授权。可以通过wx.getSetting
来检查用户是否已经授权过位置信息,并通过wx.authorize
或wx.openSetting
来请求授权。
1.2 获取当前位置(经纬度)
用户授权后,调用wx.getLocation
来获取用户的当前位置。你可以选择获取精确或粗略的位置信息(经纬度)。
1.3 请求后端
小程序请求后端获取经纬度对应的城市等详细位置信息。
1.4 显示位置在地图上
微信小程序提供了<map>
组件,可以将获取的经纬度信息显示在地图上。你可以通过设置<map>
组件的latitude
和longitude
属性来定位用户的位置。
2. 后端
通过调用高德地图的接口,获取具体位置信息。
高德地图的查询地理编码接口定位如下图:
接口文档地址:高德地图逆地理编码
最终接口返回省、市、县、详细位置等信息。
3. 总结
小程序端的定位是通过手机的定位模块进行定位,定位成功获取经纬度坐标,平台根据经纬度坐标请求地图服务获取经纬度坐标对应的具体位置。
小程序首先通过微信提供的方法拿到经纬度坐标,然后请求后端获取具体的位置,后端会请求高德地图根据经纬度获取具体的城市信息。