微信小程序实现定位功能

分享两个微信小程序获取定位的办法,用的腾讯的地图,可根据自己的情况改动

前情提示:提前在您的app.json上加上这些代码

"permission": {
    "scope.userLocation": {
      "desc": "你的位置信息将用于地图中定位"
    }
  }

这样才可以继续实现定位功能

第一种:wx.getLocation

附上代码

 GPSbtn() {
    let _this = this
    wx.getLocation({
      type: 'gcj02',
      altitude: true,
      isHighAccuracy: true,
      success: res => {
        console.log(res);
        const latitude = res.latitude //纬度
        const longitude = res.longitude //经度
        // 调用获取城市名称方法
        _this.getCity(latitude, longitude)
      }
    })
  },
  // 获取定位城市名称方法
  getCity: function (latitude, longitude) {
    wx.request({
      url: `https://apis.map.qq.com/ws/geocoder/v1/?key=腾讯地图申请的key&location=` + latitude + ',' + longitude,
      success: res => {
        console.log(res) // 此处返回的就是城市名称
        console.log(res.data.result.address);// 具体地址
      }
    })
  },

这是打印的值,大家可以参考一下

这个能返回一个稍微有点偏差的,我的偏差大概是在4公里这样,但是真机调试的时候没那么大。我也查阅了大量资料发现现在确实是有这个问题而且没有太好的解决办法,大家可以跟领导说一下这个问题,作为一个前端这些问题一定要及时反馈

第二种:wx.chooseLocation

附上代码

 // 定位
  GPSbtn() {
    wx.chooseLocation({
      type: 'wgs84',
      success: res => {
        console.log(res);
      }
    })
  },

大家可以看到这个定位代码很少,因为这个是微信之前推出可自选地址的一个定位,点击效果是这样的:

可以看到用户可以自己去选择地址,如果应用场景是打卡什么的就不建议用这种了,下面是控制台打印的内容

可以看到这个自选的地址还是很精准的,大家可以根据情况来选择适合自己的定位

最后附上微信官方文档的定位文章:位置 / wx.getLocation (qq.com)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值