微信小程序地图定位+经纬度逆解析

最近在做小程序打卡功能的时候需要用到获取当前定位+经纬度转换成地址,腾讯位置服务提供了相关API,我们可以去调用其API实现我们想要的功能。

一、注册应用及key

1.登录腾讯位置服务网址(微信小程序JavaScript SDK | 腾讯位置服务

可以查看到小程序的

 2.创建应用,申请key

3.下载需要的小程序javaScriptSDK(上面网站上有下载链接);

4. 在小程序管理后台 ->开发管理->接口设置->申请地理位置API(wx.getLocation)

5.安全域名设置,在小程序管理后台 -> 开发 -> 开发管理 -> 开发设置 -> “服务器域名” 中设置request合法域名,添加https://apis.map.qq.com

二、封装及调用

1.封装

(1)在utils文件夹内创建getLocationInfo.js文件
(2)引入SDK(上面下载的)及key,key不方便展示,然后再调用

const QQMapWX = require('@/utils/wx_js/qqmap-wx-jssdk.min.js');
const qqmapsdk = new QQMapWX({
  key: 腾讯位置服务应用key,
})

function getLocationInfo(location) {
  return new Promise((resolve, reject) => {
    qqmapsdk.reverseGeocoder({
      location: {
        latitude: location.latitude,
        longitude: location.longitude
      },
      success: function (res) {
        resolve(res.result)
      },
      fail: function (err) {
        console.log(res);
        reject(err)
      }
    })
  })
}

export default getLocationInfo

2.调用

import getLocationInfo from "@/utils/wx_js/getLocation.js";
wx.getLocation({
      type: 'gcj02',
      success:async(res) =>{
        const latitude = res.latitude;
        const longitude = res.longitude;
        let result = await getLocationInfo(res);
        console.log("address", result);
        this.setData({
          address: result.address,
          markers: [{latitude,longitude}],
          latitude,
          longitude
        })
      },
      fail(error) {
        console.log(error);
      }
    })

3.实现效果

打印结果和地图组件

  • 11
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值