在开发小程序时要获取当前位置信息,小程序API中给了非常便捷的方法:wx.getLocation(OBJECT)
官方API在此:https://developers.weixin.qq.com/miniprogram/dev/api/location.html#wxgetlocationobject
但是看到返回值时发现并没有返回当前位置的地理信息(省份,城市,区县等名称),只返回了经纬度等.
我的做法是:
1.请打开,http://lbs.qq.com/webservice_v1/guide-gcoder.html.这是腾讯官方的位置服务.需要使用逆地址解析将经纬度转化为地理信息.
2.先去位置服务注册并申请KEY.之后就可以使用官方提供的接口请求了,接口如下:
https://apis.map.qq.com/ws/geocoder/v1/?location=lat<纬度>,lng<经度>&key=你申请的key
备注:为保证数据传输安全,提高安全性,腾讯位置服务WebServiceAPI将不再支持HTTP方式调用。请开发者尽快调整,将现有通过HTTP方式调用的切换成 HTTPS 调用,以避免受到影响。 平台将于 2018年9月30日 停止对HTTP方式调用的支持。
具体代码如下:
wx.getLocation({
success: function(res) {
wx.request({
url: 'https://apis.map.qq.com/ws/geocoder/v1/?location=lat<纬度>,lng<经度>&key=你申请的key',
success: function (result) {
console.log(result.data.result.address_component.city)
}
})
},
})
备注:result.data.result.address_component.city是获取城市名称,如大家有其他需求,可以自行获取.腾讯位置服务的官方文档上都有.
谢谢大家~