应项目需求,需要定位用户的当前位置,看了下微信小程序开发文档,wx.getLocation就可以获取当前的地理位置、速度,但是返回的数据只是经纬度,并不是我们想要的位置名称,而且将经纬度展示给用户并不是很友好。
因此我们需要借助别的方法将经纬度转换为真实的位置名称,这里我们会用到腾讯位置服务。
开发步骤:
1.申请开发者密钥(key)https://lbs.qq.com/console/key.html
2.开通webserviceAPI服务:控制台 -> key管理 -> 设置(使用该功能的key)-> 勾选webserviceAPI -> 保存
3.下载微信小程序JavaScriptSDK,微信小程序JavaScriptSDK v1.2
4.安全域名设置,在“设置” -> “开发设置”中设置request合法域名,添加https://apis.map.qq.com
引入 微信小程序JavaScriptSDK,
var QQMapWX = require('../../libs/qqmap-wx-jssdk.js');
实例化API核心类
var qqmapsdk = new QQMapWX({ key: 'UNKBZ-Z373V-STPPW-UZW77-JLMQ6-7UFTQ' // 必填 });
调用微信接口
wx.getLocation({ sucess: function(res) { //获取到经纬度 var latitude = res.latitude var longitude = res.longitude } })
调用微信位置服务
qqmapsdk.reverseGeocoder({ location: { latitude: latitude, longitude: longitude }, success: function(location) { console.log(location) //返回真实地理位置 }, fail: function(error) { } })
注意一点:必须将https://apis.map.qq.com 添加到微信小程序request合法域名中。