微信小程序,将经纬度转化为城市地区(腾讯位置服务)

微信小程序中使用  wx.getLocation API获取当前位置,但只能获取经纬度,不能具体显示出来省市区等地址,这时候需要使用第三方来内部实现地址转化,或者调用外部API接口来实现转化,此处我们使用腾讯自己的位置服务(他自家的使用起来简单方便),

https://lbs.qq.com/miniProgram/jsSdk/jsSdkGuide/jsSdkOverview

在此处登录后,我的应用中,创建应用,然后WebServiceAPI打勾,选择签名校验,下方微信小程序打勾,输入自己的微信小程序APPID


然后下载SDKv1.2,复制到小程序utils目录下,

然后在小程序需要的页面中.js文件中,上方添加代码:

const QQMapWX = require('../../utils/qqmap-wx-jssdk.min.js');
var qqmapsdk;
onLoad事件中初始:

qqmapsdk = new QQMapWX({
        key: 'AROB********A2-MXBTY'
      });
在需要获取地址的方法中写入代码:

var that = this;

    wx.getLocation({
      type: 'wgs84',
      success(res) {
        const latitude = res.latitude
        const longitude = res.longitude
        const speed = res.speed
        const accuracy = res.accuracy
        //console.log(res);
        var taddress = "";

        qqmapsdk.reverseGeocoder({
          location: {
            latitude: res.latitude,
            longitude: res.longitude
          },
          coord_type: 1,
          sig: "WGHe5-***************uo9oLGV2S",
          success: function (res) {
            that.setData({
              inputregion: res.result.address
            });
          },
          fail: function (res) {
            console.log(res);
          },

        })
        

      }
经测试使用方法可行,但定位有时候不精准,例如省市区中的省市是正确的,区的话定位会产生偏差,只能做参考地址,不能准确定位;


此处调用方法参数说明链接:https://lbs.qq.com/miniProgram/jsSdk/jsSdkGuide/methodReverseGeocoder



参考链接:

https://blog.csdn.net/weixin_44544712/article/details/107824748

相关推荐

网友评论(0)