• 实时天气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 

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

    unit 

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

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

    返回数据 

    1. // 北京实况天气
    2. // 商业版 https://api.qweather.com/v7/weather/now?location=101010100&key=你的KEY
    3. // 开发版 https://devapi.qweather.com/v7/weather/now?location=101010100&key=你的KEY
    4. {
    5. "code": "200",
    6. "updateTime": "2020-06-30T22:00+08:00",
    7. "fxLink": "http://hfx.link/2ax1",
    8. "now": {
    9. "obsTime": "2020-06-30T21:40+08:00",
    10. "temp": "24",
    11. "feelsLike": "26",
    12. "icon": "101",
    13. "text": "多云",
    14. "wind360": "123",
    15. "windDir": "东南风",
    16. "windScale": "1",
    17. "windSpeed": "3",
    18. "humidity": "72",
    19. "precip": "0.0",
    20. "pressure": "1003",
    21. "vis": "16",
    22. "cloud": "10",
    23. "dew": "21"
    24. },
    25. "refer": {
    26. "sources": [
    27. "QWeather",
    28. "NMC",
    29. "ECMWF"
    30. ],
    31. "license": [
    32. "commercial license"
    33. ]
    34. }
    35. }

    实况数据均为近实时数据,相比真实的物理世界会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:

    查询:

    1. QString currentCity = ui->comboBoxCity->currentText();
    2. QString cityCode = m_cityCodeMap.find(currentCity).value();
    3. // request weather result
    4. QString urlTemp = m_weather_url+"?location=%1&key=%2&lang=%3";
    5. QString url = urlTemp.arg(cityCode, m_appkey, m_langange);
    6. qDebug()<
    7. // do request
    8. QString result = requestTool.doGetSync(url);
    9. qDebug()<< "result: " + result;
    10. if("" == result)
    11. {
    12. ui->labelWeather->setText("天气信息显示失败");
    13. return;
    14. }

    解析:

    1. QByteArray msg = weainfo.toUtf8();
    2. QJsonParseError err_rpt;
    3. QJsonDocument root_Doc = QJsonDocument::fromJson(msg, &err_rpt);
    4. if(err_rpt.error != QJsonParseError::NoError)
    5. {
    6. ui->labelWeather->setText("天气信息显示失败");
    7. qDebug() << "json parse error";
    8. return;
    9. }
    10. QJsonObject root_obj = root_Doc.object();
    11. QString code = root_obj.value("code").toString();
    12. if("200" != code)
    13. {
    14. ui->labelWeather->setText("天气信息显示失败");
    15. qDebug()<< "search weather info failed";
    16. return;
    17. }
    18. QJsonObject weaDeatilinfo = root_obj.value("now").toObject();
    19. QString text = weaDeatilinfo.value("text").toString();
    20. QString temp = weaDeatilinfo.value("temp").toString();
    21. QString info = QString("天气:%1 温度:%2℃").arg(text, temp);
    22. ui->labelWeather->setText(info);

    效果:

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

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

  • 相关阅读:
    Ubuntu小知识总结
    进口猫罐头在排行榜中是否靠前?排行榜中靠前的猫罐头测评
    java springboot VUE美术外包平台系统前后端分离开发mysql数据库web结构java编程计算机网页源码maven项目
    consul:啥?我被优化没了?AgileConfig+Yarp替代Ocelot+Consul实现服务发现和自动网关配置
    C#WPF命令Command使用实例
    k8spod就绪检查失败
    selenium 对当前已经打开的窗口进行调试
    未来架构:无服务器计算和容器的融合
    indexDB
    鸿蒙开发(五)鸿蒙UI开发概览
  • 原文地址:https://blog.csdn.net/qianlixiaomage/article/details/125888743