点餐小程序实战教程18获取用户的所在城市

文摘   2024-10-09 20:01   内蒙古  

小程序我们希望用户登录后默认显示用户的城市,这就要结合小程序的定位API和高德地图API的功能,本篇我们讲解一下具体的实现过程

1 集成高德地图

腾讯地图已经不给个人开发者额度了,那我们就没法进行测试开发。那就切换一个地图组件,这篇教程我们切换成高德地图

打开高德地图的控制台,添加Key

选择web服务

2 逆地址解析

我们在小程序可以通过getLocation接口获取用户的当前位置信息,得到的是经纬度,可以通过调用逆地址解析接口获取所在的城市信息

打开APIs,创建一个逆地址解析的方法,类型选择http请求

输入如下的URL

https://restapi.amap.com/v3/geocode/regeo?parameters

方法选择get,添加两个入参,key和location

在Query添加Key,value从入参里选择

点击方法测试,传入正确的参数就可以看到返回结果,点击出参自动映射

在调试的时候注意是三位数在前,两位数在后

3 小程序启动时候获取位置

我们小程序一启动的时候我们就获取一下位置信息,需要获取位置信息的,首先要打开授权。点击编辑器底部的代码编辑器

在mp config里打开配置,贴入如下配置

export default {  appJson: {    // 小程序接口权限相关设置,可选    permission: {      'scope.userLocation': {        desc: '你的位置信息将用于小程序位置接口的效果展示',      },    },   },}

在lifecycle里贴入如下代码

export default {  onAppLaunch(launchOpts) {    //console.log('---------> LifeCycle onAppLaunch', launchOpts)    wx.getLocation({      type: 'wgs84',      async success(res) {        const latitude = res.latitude        const longitude = res.longitude        const speed = res.speed        const accuracy = res.accuracy        console.log(latitude, longitude)        // 调用高德地图API        const result = await $w.cloud.callDataSource({          dataSourceName: 'ctgl_jb3folg',          methodName: 'regeo',          params: {            key:"154efad",            location:  longitude+ ',' + latitude          } // 方法入参        });            $w.app.dataset.state.city = result.regeocode.addressComponent.city      }    })  },  onAppShow(appShowOpts) {    //console.log('---------> LifeCycle onAppShow', appShowOpts)  },  onAppHide() {    //console.log('---------> LifeCycle onAppHide')  },  onAppError(options) {    //console.log('---------> LifeCycle onAppError', options)  },  onAppPageNotFound(options) {    //console.log('---------> LifeCycle onAppPageNotFound', options)  },  onAppUnhandledRejection(options) {    //console.log('---------> LifeCycle onAppUnhandledRejection', options)  }}

主要代码里的Key要替换成你自己的key

总结

我们本篇介绍了集成高德地图,调用逆地址解析的方法。在低代码开发中,免不了要集成各类第三方的接口,通过设置数据源的API就可以方便的和对方集成。



低代码布道师
分享微搭低代码使用教程,提问交流+知识星球50556232
 最新文章