跳至主要內容

获取定位

刘春龙原创...大约 1 分钟WEB前端小程序教程文档

定位

定位是一个很常用的功能,我们在定位时可有以下选择

  • 精准定 wx.getLocation()

  • 模糊定位 wx.getFuzzyLocation()

提示

使用该功能时需要提前在小程序后台申请开通定位的相关权限

  • 开启权限

在 app.json 中进行声明

{
  "requiredPrivateInfos": ["getFuzzyLocation"]
}
获取经纬度:
<view bindtap="getAdd">定位</view>
Page({
  getAdd() {
    wx.getFuzzyLocation({
      type: "wgs84",
      success(res) {
        const latitude = res.latitude;
        const longitude = res.longitude;
        console.log(latitude, longitude);
      },
      fail(err) {
        console.log(err);
      },
    });
  },
});

这样我们就能拿到经纬度了

逆向地址解析
Page({
  getAdd() {
    wx.getFuzzyLocation({
      type: "wgs84",
      success(res) {
        wx.request({
          url: "https://restapi.amap.com/v3/geocode/regeo",
          data: {
            output: "json",
            location: `${res.longitude},${res.latitude}`,
            key: "XXXXXXXXXXXXXXXXXXXXXXXXX",
            extensions: "base",
            batch: false,
          },
          success: (result: any) => {
            console.log("通过经纬度逆地址解析", result);
          },
        });
      },
    });
  },
});

这样我们就能通过经纬度来解析到用户具体的地理位置了

提示

这里我使用的是高德地图,请把请求参数的 key 替换成你在高德地图开放平台中申请的应用的 key

选择地址

  • 开启权限

在 app.json 中进行声明

{
  "requiredPrivateInfos": ["chooseLocation"]
}
  • 选择附近地址
<view bindtap="getAdd">选择自己实际的地理位置</view>
Page({
  getAdd() {
    wx.chooseLocation({
      success: function (res: any) {
        console.log(res);
      },
    });
  },
});
上次编辑于:
贡献者: 刘春龙
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.7