微信小程序开发——调用免费天气api接口(高德、天气API)

微信小程序开发——调用免费天气api接口(高德、天气API)微信小程序开发 调用免费天气 api 接口一 注册并获取 Key 二 调用 API 接口开发一个现实天气信息的微信小程序 主要的是从网上请求到天气信息数据 网上也有很多介绍免费天气 api 接口的 我试了好多没法用 或者就是像百度 api 一样弄了半天没搞明白 我这里使用了高德提供的天气 api 接口 链接如下 https lbs amap com api webservice guide api weatherinfo 一 注册并获取 Key 使用时候需要注册获取 Key 因为是阿里旗下公司 可以使用支付宝扫码注册 注册后

开发一个现实天气信息的微信小程序,主要的是从网上请求到天气信息数据,网上也有很多介绍免费天气api接口的,我试了好多没法用,或者就是像百度api一样弄了半天没搞明白,我这里使用了高德和“天气API”提供的两种天气api接口。

一、使用高德天气接口:

网址链接为:

https://lbs.amap.com/api/webservice/guide/api/weatherinfo

(一)注册并获取Key

使用时候需要注册获取Key,因为是阿里旗下公司,可以使用支付宝扫码注册。注册后在图中所示的页面中点击 申请Key

在这里插入图片描述
在打开的页面中点击右上角的“创建新应用”,填写应用名称和类型,我这里随便把应用名称定为Weather,创建好之后点击“添加”
在这里插入图片描述
可以给Key添加名字,服务平台注意要选择 Web服务,这个选项才能使用天气查询API(这里不需要再点击它了)
在这里插入图片描述
提交之后就可以找到申请的Key了,这时候就可以去使用API了。










(二)调用API接口

新建项目后,在index.js(或者新建一个页面)中加入以下代码:

//index.js //获取应用实例 const app = getApp() Page({ 
    data: { 
    }, onLoad:function(){ 
    var self = this; wx.request({ 
    url: 'https://restapi.amap.com/v3/weather/weatherInfo', data:{ 
    'key': '*',//填入自己申请到的Key 'city': '', }, header:{ 
    'content-type': 'application/json' }, success:function(res){ 
    console.log(res.data); } }) } }) 

index.wxml

<!--index.wxml--> <view class="content"> <view class="info"> 城市编码:{ 
   { 
   adcode}}</view> <view class="info"> 所在省份:{ 
   { 
   province}}</view> <view class="info"> 城市:{ 
   { 
   city}}</view> <view class="info">天气现象:{ 
   { 
   weather}}</view> <view class="info"> 实时气温:{ 
   { 
   temperature}}</view> <view class="info"> 风向:{ 
   { 
   winddirection}}</view> <view class="info"> 风力:{ 
   { 
   windpower}}</view> <view class="info"> 空气湿度:{ 
   { 
   humidity}}%</view> <view class="info"> 发布时间:{ 
   { 
   reporttime}}</view> </view> 

index.js

//index.js //这里只获取了实况天气信息,没有用预测信息 //获取应用实例 const app = getApp() Page({ 
    data: { 
    adcode:'', city:'', humidity:'', province:'', reporttime:'', temperature:'', weather:'', winddirection:'', windpower:'', }, onLoad:function(){ 
    var self = this; wx.request({ 
    url: 'https://restapi.amap.com/v3/weather/weatherInfo', data:{ 
    'key': '*',//改为自己申请的Key 'city': '', 'extensions': 'base' }, header:{ 
    'content-type': 'application/json' }, success:function(res){ 
    console.log(res.data); self.setData({ 
    adcode: res.data.lives[0].adcode, city: res.data.lives[0].city, humidity: res.data.lives[0].humidity, province: res.data.lives[0].province, temperature: res.data.lives[0].temperature, reporttime: res.data.lives[0].reporttime, weather: res.data.lives[0].weather, winddirection: res.data.lives[0].winddirection, windpower: res.data.lives[0].windpower }) } }) } }) 

二、使用“天气API”提供的接口

(一)注册获取APPID和APPSecret

(二)调用API接口

//index.js //获取应用实例 const app = getApp() Page({ 
    data: { 
    }, onLoad:function(){ 
    var self = this; wx.request({ 
    //根据自己申请到的appid和appsecret替换下面的*符号 url: 'https://v0.yiketianqi.com/api?version=v61&appid=&appsecret=*', data:{ 
    }, header:{ 
    'content-type': 'application/json' }, success:function(res){ 
    console.log(res.data); } }) } }) 
//index.js //获取应用实例 const app = getApp() Page({ 
    data: { 
    }, onLoad:function(){ 
    var self = this; wx.request({ 
    url: 'https://v0.yiketianqi.com/api', data:{ 
    'appid':'',//填入自己申请到的appid 'appsecret': '',//填入自己申请到的appsecret 'version': 'v61' }, header:{ 
    'content-type': 'application/json' }, success:function(res){ 
    console.log(res.data); } }) } }) 

可以得到和上面同样的结果。根据该网站提供所提供的不同接口,可以尝试不同的version,得到不同的信息。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/178852.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午4:23
下一篇 2026年3月26日 下午4:23


相关推荐

  • linux内核之slob、slab、slub

    linux内核之slob、slab、slubTableofConte SlabVSSlubOv 分配器 Linuxslab 分配器剖析动态内存管理 slab 缓存 slab 背后的动机 API 函数 kmem cache createkmem cache destroykmem cache allockmem cache zallockmem cache freekmalloc 和 kfree 其他函数 slab 缓存的示例用法 slab 的 proc 接

    2026年3月19日
    2
  • java 汉字乱码_Java中文乱码问题

    java 汉字乱码_Java中文乱码问题一、MyEclipse下的java文件中文乱码问题(MyEclipse6.5):解决方法一:Window–àPreferences…–àGeneral–àContentTypes–àText–àJavaSourceFile中Defaultencoding改写成UTF-8(你所需的编码类型)然后Update,OK确定就可以了。二、1、编码编码比较常用的有:UTF-…

    2022年7月13日
    31
  • Java学习笔记-1

    一、面向对象是什么?面向对象是一种思想,世间万物都可以看成一个对象,这里只讨论面向对象编程(OOP),java是一个支持并发、基于类和面向对象的计算机编程语言,面向对象开发的优点:1.代码开发模块化,更易维护和修改;2.代码复用性强;3.增强代码的可靠性和灵活性;4.增强代码的可读性。面向对象的四大基本特征:抽象:提取现实世界中某事物的关键特性,为该事物构建模型的过程。对同一事物在不…

    2022年4月17日
    52
  • matlab的meshgrid函数详解

    matlab的meshgrid函数详解函数形式[C,R]=meshgrid(c,r)初步解释首先需要明确的是参数c,r都是行向量,该函数将行向量c,r指定的域变换为数组C,R,这2个数组能用来指示有2个变量的函数和三维的图。输出数组C的每一行都是行向量c,输出数组R的每一列都是行向量r。例如我们需要形成一个二维函数,其元素是由坐标变量x和y的值的平方和。也就是f(x,y)=x^2+y^2这样的形式…

    2022年6月7日
    70
  • 什么是许可式电子邮件营销

    什么是许可式电子邮件营销我们都知道 电子邮件营销是网络营销手法中最古老的一种 可以说电子邮件营销比绝大部分网站推广和网络营销手法都要老 相比之下 搜索引擎优化是晚辈 而许可式电子邮件营销又是合法的邮件营销方式 许可式的关键点是需要用户主动在你的网站上留下他的邮件地址 注册你的电子杂志 而不是你从网上抓取或从别人那里买电子邮件 这些注册的电子邮件记录 你都应该记录用户注册时候的 IP 地址 准确时间 以做日后万一受到投诉时

    2026年3月20日
    2
  • Pycharm项目生成可执行exe文件(Windows版)

    Pycharm项目生成可执行exe文件(Windows版)Python 生成 Windows 可执行 exe 文件 Pycharm 生成 exe 程序 一个项目开发完毕后总有一种想法 就是生成可执行文件 总不能一直用 pythonxxx 执行吧 以下操作同时适用于 windows 和 Linux 下的 Pycharm 我在 Ubuntu 下试验过 生成的是在 Ubuntu 下的可执行文件 1 打开 Pycharm 2 打开 Terminal 快捷键 Alt F12 3 安装 pyinstaller 工具输入 pipinstallpy 生成本项目可执行文件 Termi

    2026年3月27日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号