微信小程序(Taro)获取经纬度并转化为具体城市

1、获取经纬度

申请权限,想要使用微信小程序获取经纬度的方法是要申请该方面的权限。

获取经纬度的方法有很多选择其中一个使用就好。

我使用的是Taro.getFuzzyLocation()

在app.config.js中需要添加设置

javascript 复制代码
 requiredPrivateInfos: [
    "getFuzzyLocation",
  ],

直接上代码,获取经纬度

javascript 复制代码
Taro.getFuzzyLocation({
      type: "wgs84",
      success: async (res) => {
        const latitude = res.latitude;
        const longitude = res.longitude;
        console.log(latitude, longitude, "纬度 经度");
      },
      fail: function (e) {
        console.log(e, "获取失败");
      },
    });

2、逆转地理编码

在获取到经纬度后,想要转换为具体的位置地点,需要使用高德地图或者腾讯地图,我使用的是高德地图。

地理/逆地理编码-基础 API 文档-开发指南-Web服务 API | 高德地图API

在高德开发平台注册账号后申请key

在添加key的过程中一定要选择web服务,因为只有它支持逆地理编码API

上逆转经纬度的代码

javascript 复制代码
 // 根据坐标获取地址
        const wz = await requst.get(
          "https://restapi.amap.com/v3/geocode/regeo?key=<你申请的key>&extensions=all&location=" +
            longitude +
            "," +
            latitude
        );
        console.log(
          wz.data.regeocode.addressComponent,
          wz.data.regeocode.addressComponent.city,
          "地点"
        );

在获取经纬度的方法中,要把方法放到生命周期里面。不然可能会一直调用

3、全部代码

javascript 复制代码
// 获取地理位置
  const handleClick = () => {
    Taro.getFuzzyLocation({
      type: "wgs84",
      success: async (res) => {
        const latitude = res.latitude;
        const longitude = res.longitude;
        console.log(latitude, longitude, "纬度 经度");
        // 根据坐标获取地址
        const wz = await requst.get(
          "https://restapi.amap.com/v3/geocode/regeo?key=<你的key>&extensions=all&location=" +
            longitude +
            "," +
            latitude
        );
        console.log(
          wz,
          wz.data.regeocode.addressComponent,
          wz.data.regeocode.addressComponent.city,
          "地点"
        );
      },
      fail: function (e) {
        console.log(e, "获取失败");
      },
    });
  };
  useEffect(() => {
    handleClick();
  }, []);
相关推荐
li9056632801 小时前
hanzi-writer-miniprogram Path2D问题以及Bug修复
微信小程序·bug
胡少侠75 小时前
ReAct Agent:手写 Thought-Action-Observe 循环,从工具调用到真正的 Agent
ai·agent·react·rag
mon_star°9 小时前
基于微信小程序原生框架搭建的转盘小程序1.0(附源码)
微信小程序·小程序·notepad++
Emma_Maria9 小时前
【小程序】插件申请成功,待插件提供方确认通过申请后才能使用
微信小程序
捕捉一只前端小白9 小时前
cpolar内网穿透以及微信小程序域名设置
前端·vue.js·微信小程序·小程序
demo007x1 天前
如何提高 AI 做小程序的效率?
微信小程序·ai编程·claude
胡西风_foxww1 天前
nextjs部署更新,Turbopack 和 Webpack 缓存冲突问题解决
缓存·webpack·react·nextjs·turbopack
kaolagirl1 天前
微信小程序-滑动拼图安全验证
安全·微信小程序·小程序
2501_933907211 天前
如何选择宁波小程序服务,保障品质与效率?
科技·微信小程序·小程序
Greg_Zhong1 天前
微信小程序中实现气泡提示框、图片css加载动画及容错处理
微信小程序·自定义气泡框·图片css加载动画