我的需求:获取当前地址,温度和天气【微信小程序】

  1. 先获取当前经纬度uni.getLocation
  2. 获取经纬度以后,通过经纬度进行逆地理编码,获取当前定位地址uni.request
  3. 处理显示【“江西省南昌市红谷滩区沙井街道世茂路南昌市人民政府”】变成【“沙井街道世茂路南昌市人民政府”】(思路:获取【江西省南昌市红谷滩区】的长度,然后进行【江西省南昌市红谷滩区沙井街道世茂路南昌市人民政府】的截取,获取到【沙井街道世茂路南昌市人民政府】)
  4. 获取当前城市的天气情况uni.request

图1

图2
图3
图4

var _this = this
uni.getLocation({type: 'gcj02', //返回可以用于uni.openLocation的经纬度success: (res) => {//-------------------------这里可以看图2打印console.log('当前位置的经度:' + res.longitude);console.log('当前位置的纬度:' + res.latitude);uni.request({header: {"Content-Type": "application/text"},//注意:这里的key值需要高德地图的 web服务生成的key  只有web服务才有逆地理编码url: 'https://restapi.amap.com/v3/geocode/regeo?output=JSON&location=' + res.longitude + ',' + res.latitude + '&key=你的秘钥&radius=1000&extensions=all',success(re) {if (re.statusCode === 200) {//-------------------------这里可以看图2打印console.debug('re.statusCode === 200', re)var {formatted_address} = re.data.regeocode//-------------------------这里可以看图3打印console.debug('re.data.regeocode ========', re.data.regeocode)// 这里是为了处理显示,我不想显示前面的省市区,然后就需要把省市区拿出来再和原有的进行对比//-------------------------这里可以看图4打印var reg = /.+?(省|市|自治区|自治州|县|区)/g;let addressList = formatted_address.match(reg).toString().split(",");console.debug('addressList ========', addressList)var shopAddress = addressList[0] + addressList[1] + addressList[2]console.debug('shopAddress获取具体的省市区 ========', shopAddress)// 1.截取省市区的长度,相同地方的东西var length = shopAddress.length// 2.然后从不同的地方进行截取,和拿到的数据进行比较处理_this.city = formatted_address.substring(length)console.debug('_this.city简写处理 ========', _this.city)//这里打印的是南昌市console.debug('addressList[1]', addressList[1])} else {//如果失败了,就重新请求这个方法uni.showModal({title: '提示',content: "获取信息失败,请重试!",confirmText: '重试',success: function(res) {if (res.confirm) {//这就是本方法getLocation_this.getLocation()}}});console.log("获取信息失败,请重试!")}}});}
});

获取当前城市的天气温度
图5

//这里其实我是为了判断是否有城市,我是结合上面的来做的,这里为了更好地给你们看,所以抽取出来了。
if (addressList[1]) {//这里打印的是南昌市,通过城市进行获取当前城市的一些信息console.debug('addressList[1]', addressList[1])uni.request({url: 'http://wthrcdn.etouch.cn/weather_mini?city=' +addressList[1],data: {},responseType: 'application/json;charset=utf-8',success: (res) => {console.debug('res ========', res)//-------------------------这里可以看图5打印console.debug('res.data ========', res.data)var {forecast,ganmao,wendu,yesterday,city} = res.data.data//获取当前的温度,注意:这里不是实时更新的,是你请求一次就更新一次_this.temperature = wendu + "℃"//获取当天的天气【阴】,forecast这里是个数组,显示的是未来5天的天气情况(包括今天)//所以如果我需要当天的天气【阴】,这里就要forecast[0]_this.weather = forecast[0].type}})
}

对于地址那块如有不懂的可参考:https://blog.csdn.net/qq_42899245/article/details/117732620?spm=1001.2014.3001.5502
有什么不懂的欢迎留言。
感谢观看,如果有帮助到你,希望给我点个赞赞哦。
马上端午了,最后祝愿大家端午快乐!!!

如何获取当前地址以及天气温度情况,适用于微信小程序(端午假期将至,祝愿大家端午快乐)相关推荐

  1. 微信小程序获取的语言列表统计,微信小程序getSystemInfo获取的各种语言都叫什么?微信小程序国际化|多语言版本获取微信小程序语言大全【记录】

    微信小程序要做国际化,需通过 wx.getSystemInfo 获取到当前使用的语言,来切换不同的语言包,或许是我没找对地方?查了一下微信手册上没有这个标准语言对照表或者记录啥的,只能自己挨个儿获取一 ...

  2. 微信小程序又双叕改获取用户头像昵称的规则了,微信小程序如何去最新获取头像昵称

    就最近在写微信小程序项目的时候,发现微信又双叕更改获取用户头像昵称的规则了,我连wx.getUserProfile都还没用上,一直还停留在wx.getUserInfo的阶段,结果告诉我,又改规则了,一 ...

  3. 微信小程序怎么把获取的值传到引用组件内_微信小程序如何将接口获取的数据传递给自定义组件...

    2019-07-11 回答 不知道你是什么意思.帮你改了下 class program { static int n = 4; int i, m; dsd[] a = new dsd[n]; publ ...

  4. 微信小程序获取当前城市地址

    var QQMapWX = require('../../utils/qqmap-wx-jssdk.js'); var qqmapcity_name:"",onLoad: func ...

  5. 微信小程序获取详细地址踩坑一文通

    获取小程序详细地址 官方api 获取逆地址解析sdk 小程序配置 获取详细地址 跳转到地图 在开发小程序的时候难免会遇到获取当前位置信息的需求,那么就直接上手操作获取地址:你以为会顺风顺水?然后你会发 ...

  6. 微信小程序 搞一个天气api

    最近在搞微信小程序,突然想来搞一个天气API,来获取实时的天气.话不多说,直接开搞.. 1. 选择一个天气API 百度上随便一搜,都是天气API,但是我感觉用起来都太烦了, 无论是注册,还是说要付费, ...

  7. uniapp同步获取用户信息_微信小程序云开发教程微信小程序的API入门获取用户身份信息系列API...

    同学们大家好,我是小伊同学,上一节我们介绍了一些常用API,今天我们接着来学习一组API,那就是获取用户身份信息的API. 在微信小程序中,我们往往需要获取用户的身份信息,比如昵称.头像.性别.地区等 ...

  8. 如何在微信小程序中集成认证服务—邮箱地址篇

    近期华为AppGallary Connect的认证服务SDK新增支持了微信小程序.今天就来教大家如何在微信小程序中集成认证服务的邮箱地址认证方式 1.安装微信小程序环境 首先进入微信小程序官网下载微信 ...

  9. 微信小程序python解析获取用户手机号_微信小程序获取用户手机号

    获取微信用户绑定的手机号,需先调用wx.login接口. 小程序获取code. 后台得到session_key,openid. 组件触发getPhoneNumber 因为需要用户主动触发才能发起获取手 ...

最新文章

  1. php 空间类元素引入_引入单元素模式
  2. SAP PM 初级系列14 - 维修工单的凭证流
  3. Redis第二集:Linux下安装Redis和测试,包含命令代码和问题处理办法,超详细版
  4. IntelliJ IDEA绑定Github报Error 403: Not Authorized没有授权问题解决方法
  5. 【控制】《多智能体系统的协同群集运动控制》陈杰老师-第3章-基于代数连通度估计的多智能体系统群集运动控制
  6. C#中NULL,,DBNULL,String.Empty,Convert.IsDBNull()的区别
  7. linux开机到登陆的流程图,1-描述linux开机到登陆界面的启动过程.docx
  8. css案例学习之并集选择器
  9. winform模拟登陆网页_Python爬虫使用selenium爬取群成员信息(全自动实现自动登陆)...
  10. Windows Server 2012 R2 VDI系列(四)—创建虚拟桌面集合
  11. Linux ERROR: configuration failed for package ‘rgeos’
  12. 单商户商城系统功能讲解02管理后台端—首页
  13. MSE、RMSE、MAE、R方等指标整理
  14. pad看linux源码,在 iPad和 iPhone的浏览器上查看网页源代码
  15. 【单调队列优化】CF319C——Kalila and Dimna in the Logging Industry
  16. Join the IT | 一个初生程序猿的内心独白
  17. java 获取文件的大小kb_java获取文件大小的方法
  18. 学习笔记——【python】GetGeoTransform()使用,gdal截取图像,使用GDAL进行影像投影坐标、地理坐标、图上坐标的转换
  19. 问题 B: Cly的博弈
  20. Leetcode——153. Find Minimum in Rotated Sorted Array

热门文章

  1. 数据结构之散列表(七)
  2. 纪中GMOJ语言模块题目1009
  3. 2020年数二真题(重点题讲解)
  4. 《左耳听风》-ARTS-打卡记录-第二十五周
  5. pcs增加mysql资源_PCS集群的一些命令总结!非常好!
  6. 路劲规划与轨迹跟踪学习4——人工势场法
  7. Jigsaw拼图游戏
  8. linux学习11 正则表达式与文件格式化处理
  9. 关于程序化交易系统的交易体系
  10. SQL注入详解(万字文章详解)