没有天生的高手,更没有永远的菜鸟求知若饥, 虚心若愚

微信小程序定位获取当前地理位置及利用腾讯位置服务获取城市名


应项目需求,需要定位用户的当前位置,看了下微信小程序开发文档,wx.getLocation就可以获取当前的地理位置、速度,但是返回的数据只是经纬度,并不是我们想要的位置名称,而且将经纬度展示给用户并不是很友好。

因此我们需要借助别的方法将经纬度转换为真实的位置名称,这里我们会用到腾讯位置服务。

3374992054.png

开发步骤:

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合法域名中。

文章评论已关闭!