栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

实时天气API

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

实时天气API

restful接口查询天气:

实时天气 - API | 和风天气开发平台

实时天气

全国4000+个市县区和海外15万个城市实时天气数据,包括实时温度、体感温度、风力风向、相对湿度、大气压强、降水量、能见度、露点温度、云量等数据。

请求URL 
  • 商业版https://api.qweather.com/v7/weather/now?[请求参数]
  • 开发版https://devapi.qweather.com/v7/weather/now?[请求参数]

请求参数 

请求参数包括必选和可选参数,如不填写可选参数将使用其默认值,参数之间使用&进行分隔。

key 

用户认证key,请参考如何获取你的KEY。支持数字签名方式进行认证。例如 key=123456789ABC

location 

需要查询地区的LocationID或以英文逗号分隔的经度,纬度坐标(十进制,最多支持小数点后两位),LocationID可通过城市搜索服务获取。例如 location=101010100 或 location=116.41,39.92

lang 

多语言设置,默认中文,当数据不匹配你设置的语言时,将返回英文或其本地语言结果。

  • zh 中文, 默认
  • en 英语
  • fr 法语
  • es 西班牙语
  • ja 日语
  • ko 韩语
  • 查看更多语言代码

unit 

度量衡单位参数选择,例如温度选摄氏度或华氏度、公里或英里。默认公制单位

  • m 公制单位,默认
  • i 英制单位

返回数据 
// 北京实况天气 
// 商业版 https://api.qweather.com/v7/weather/now?location=101010100&key=你的KEY
// 开发版 https://devapi.qweather.com/v7/weather/now?location=101010100&key=你的KEY

{
  "code": "200",
  "updateTime": "2020-06-30T22:00+08:00",
  "fxLink": "http://hfx.link/2ax1",
  "now": {
    "obsTime": "2020-06-30T21:40+08:00",
    "temp": "24",
    "feelsLike": "26",
    "icon": "101",
    "text": "多云",
    "wind360": "123",
    "windDir": "东南风",
    "windScale": "1",
    "windSpeed": "3",
    "humidity": "72",
    "precip": "0.0",
    "pressure": "1003",
    "vis": "16",
    "cloud": "10",
    "dew": "21"
  },
  "refer": {
    "sources": [
      "QWeather",
      "NMC",
      "ECMWF"
    ],
    "license": [
      "commercial license"
    ]
  }
}

实况数据均为近实时数据,相比真实的物理世界会5-20分钟的延迟,请根据实况数据中的obsTime确定数据对应的准确时间。

参数描述
code

API状态码,具体含义请参考状态码

updateTime

当前API的最近更新时间

fxLink

当前数据的响应式页面,便于嵌入网站或应用

now.obsTime

数据观测时间

now.temp

温度,默认单位:摄氏度

now.feelsLike

体感温度,默认单位:摄氏度

now.icon

天气状况和图标的代码,图标可通过天气状况和图标下载

now.text

天气状况的文字描述,包括阴晴雨雪等天气状态的描述

now.wind360

风向360角度

now.windDir

风向

now.windScale

风力等级

now.windSpeed

风速,公里/小时

now.humidity

相对湿度,百分比数值

now.precip

当前小时累计降水量,默认单位:毫米

now.pressure

大气压强,默认单位:百帕

now.vis

能见度,默认单位:公里

now.cloud

云量,百分比数值。可能为空

now.dew

露点温度。可能为空

refer.sources

原始数据来源,或数据源说明,可能为空

refer.license

数据许可或版权声明,可能为空

 城市数据包:

常见城市列表 - RESOURCE | 和风天气开发平台

常见城市列表

和风天气提供全球15万个城市和多种兴趣点(POI)的天气数据服务,除了通过GeoAPI获取城市和POI信息以外,我们还提供了一些常见城市和POI的列表。

请优先使用GeoAPI以确保这些信息都是最新的,并可获取更多城市和POI信息。

城市和POI信息会根据各种原因而变更,因此本列表将不定期更新。

下载 
git clone https://github.com/qwd/LocationList.git

 demo:

查询:

QString currentCity = ui->comboBoxCity->currentText();

QString cityCode = m_cityCodeMap.find(currentCity).value();

// request weather result
QString urlTemp = m_weather_url+"?location=%1&key=%2&lang=%3";

QString url = urlTemp.arg(cityCode, m_appkey, m_langange);
qDebug()<labelWeather->setText("天气信息显示失败");
    return;
}

解析:

QByteArray msg = weainfo.toUtf8();

QJsonParseError err_rpt;
QJsonDocument  root_Doc = QJsonDocument::fromJson(msg, &err_rpt);

if(err_rpt.error != QJsonParseError::NoError)
{
    ui->labelWeather->setText("天气信息显示失败");
    qDebug() << "json parse error";
    return;
}

QJsonObject root_obj = root_Doc.object();

QString code = root_obj.value("code").toString();
if("200" != code)
{
    ui->labelWeather->setText("天气信息显示失败");
    qDebug()<< "search weather info failed";
    return;
}

QJsonObject weaDeatilinfo = root_obj.value("now").toObject();

QString text = weaDeatilinfo.value("text").toString();

QString temp = weaDeatilinfo.value("temp").toString();

QString info = QString("天气:%1 温度:%2℃").arg(text, temp);
ui->labelWeather->setText(info);

效果:

demo源码下载地址:(注意下载后需要将config.json中的appkey设置为自己的,没有的可以去和风天气去注册开发者)

实时天气查询demo源码,可直接运行-C++文档类资源-CSDN下载

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1020398.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号