微信获取位置 转化为 高德地图 位置 地址

从高德地图转到直接使用QQ地图了,留下在微信网页开发中的代码片段

  async  getLocation () {
      // 1、获取微信的坐标
      const { latitude, longitude } = await new Promise((resolve, reject) => {
        wx.getLocation({
          type: 'wgs84', // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02'
          success: function (res) {
            // res.latitude 纬度,浮点数,范围为90 ~ -90
            // res.longitude  经度,浮点数,范围为180 ~ -180。
            resolve(res)
          }
        })
      })
      const gps = [longitude, latitude]

      // 2、获取高德的坐标
      const { lng, lat } = await new Promise((resolve, reject) => {
        AMap.convertFrom(gps, 'gps', function (status, result) {
          if (result.info === 'ok') {
            resolve(result.locations[0])
          }
        })
      })
      // 3、获取地理位置
      var lnglat = [lng, lat]
      const { formattedAddress } = await new Promise((resolve, reject) => {
        AMap.plugin('AMap.Geocoder', function () {
          const geocoder = new AMap.Geocoder()
          geocoder.getAddress(lnglat, function (status, result) {
            if (status === 'complete' && result.info === 'OK') {
              // result为对应的地理位置详细信息
              console.log(result.regeocode)
              resolve(result.regeocode)
            }
          })
        })
      })
      console.log(formattedAddress)
      this.address = formattedAddress
    },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值