uniapp利用高德api接口将getLocation经纬度转化到省市区街道信息

本文介绍了如何在微信小程序中利用高德地图API获取用户的精确地理位置,通过web服务接口将经纬度转换为省市县信息,以避免增加小程序体积。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

微信的getLocation接口可以获取到用户的经纬度信息,但是没有办法拿到省市县街道信息,所以就需要用到高德的api接口将经纬度转换为省市县这种信息,在对接的时候,有两种方式可以对接这个接口,一个是使用高德的web服务,一个是微信小程序sdk,因为sdk会增加小程序的体积,所以我选择web服务。

申请高德KEY

在高德地图的后台,先创建一个应用,然后申请一个web服务的key:https://console.amap.com/dev/key/app

复制key到小程序

将创建的web服务的key复制到小程序中

替换下面代码的key 

        uni.getLocation({
          geocode: true, // 返回经纬度
          success: function (loction) {
            console.log("getLocation", loction);
            // 将经纬度转换为城市数据
            uni.request({
              url: 'https://restapi.amap.com/v3/geocode/regeo',
              method: 'GET',
              data: {
                key: '高德WEB服务key',
                location: loction.longitude + ',' + loction.latitude
              },
              success: (resda: any) => {
                console.log("resda", resda)
                const { province, district } = resda.data.regeocode.addressComponent
                CityName.value = province
                uni.navigateBack()
              },
              fail: (err: any) => {
                console.log("restapi err", err);
              }
            })
          }
        })

 然后发送一个请求就可以看到结果了:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

1024小神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值