首页 > 其他分享 >气象信息API

气象信息API

时间:2024-03-04 16:01:45浏览次数:25  
标签:city string private MainWindow API 信息 response 气象

用WPF技术搭建简单的气象免费小控件,注册取得key

 前端代码:

  <Grid>
      <Grid.ColumnDefinitions>
          <ColumnDefinition Width="611*"/>
          <ColumnDefinition Width="189*"/>
      </Grid.ColumnDefinitions>
      <StackPanel Margin="10,10,10,10" Grid.ColumnSpan="2">
          <TextBlock  Text="输入城市:"/>
          <TextBox x:Name="txtCity" Width="200"/>
          <Button Width="200" Content="取得天气" Click="btnGetWeather_Click"  Margin="0,10,10,10"/>
          <TextBlock Text="气象信息:"  Margin="0,20,0,0" />
          <TextBlock x:Name="txtqixiangxinxi"/>
      </StackPanel>
   

  </Grid>
View Code

后端逻辑

public partial class MainWindow : Window
{
    private const string ApiKey = "key";
    private const string ApiBaseUrl = "https://api.openweathermap.org/data/2.5/weather";
    public MainWindow()
    {
        InitializeComponent();
    }

    private async void btnGetWeather_Click(object sender, RoutedEventArgs e)
    {
        string city = txtCity.Text;
        string apiUrl = $"{ApiBaseUrl}?q={city}&appid={ApiKey}";
        try
        {
            HttpClient httpClient = new HttpClient();
            HttpResponseMessage response = await httpClient.GetAsync(apiUrl);
            response.EnsureSuccessStatusCode();
            string responseBody = await response.Content.ReadAsStringAsync();
            // 解析 JSON 数据,提取天气信息
            // 这里需要根据您选择的 API 和其返回的数据结构进行解析
            // 示例:从 OpenWeatherMap API 中提取温度信息
            dynamic weatherData = JsonConvert.DeserializeObject(responseBody);
            double temperature = weatherData.main.temp - 273.15; // 转换为摄氏度
            txtqixiangxinxi.Text = $"Temperature in {city}: {temperature}°C";
        }
        catch (Exception ex)
        {
            MessageBox.Show($"Error: {ex.Message}");
        }
    }

}
View Code

 

https://openweathermap.org/

 

Weather Conditions - OpenWeatherMap

标签:city,string,private,MainWindow,API,信息,response,气象
From: https://www.cnblogs.com/shiningleo007/p/18051978

相关文章

  • python获取服务器基本信息的脚本
     之前我发布了批量收集服务器信息脚本,本次更新优化了脚本,对脚本设置了trycatch抛出异常等等,收集信息如下:ip地址","主机名","序列号","服务器型号","系统盘数量","系统盘符","系统盘容量","系统盘分区","硬盘列表","硬盘数量","CPU核数","CP......
  • 如何通过ETL实现快速同步美团订单信息
     一、美团外卖现状美团作为中国领先的生活服务电子商务平台,其旗下的美团外卖每天承载着大量的订单信息。这些订单信息需要及时入库、清洗和同步,但由于数据量庞大且来源多样化,传统的手动处理方式效率低下,容易出错。比如,不同渠道的数据格式不一致,需要进行数据清洗和格式转换;数据量......
  • Windows操作系统中的时间戳(Timestamp)是指用于标记事件发生时间的一种时间表示方式。在
    Windows操作系统中的时间戳(Timestamp)是指用于标记事件发生时间的一种时间表示方式。在计算机系统中,时间戳通常用来记录文件的创建时间、修改时间、访问时间等信息,也常用于网络通信中的认证和数据同步等场景。以下是Windows时间戳的基础技术原理:系统时钟:Windows操作系统通过系统......
  • exif信息提取
    在电子取证和misc中,有时出题人会把隐藏的信息藏在图片的exif信息中exif信息:1、kali的exiftool工具grepFLAG直接在输出结果中查找FLAG字符串2、利用一些小的图片查看器,但这种工具似乎失败率比较高 ......
  • 系统架构设计师学习(一)未来信息综合技术
    一、引言本来是想着按教材顺序来进行编写的,但是出于个人喜好,我阅读的第一章即本文所描述的未来信息综合技术走向,所以就按我阅读的顺序来进行整理了。2024年其实我个人感觉到非常大的危机了,不管是大环境还是AI对我们行业的冲击,我觉得有必要要重新审视当前的自己并做出一......
  • 机票系统中快速识别并录入护照信息的解决方案
    平常在订票时,比较耗时的一件是就是一边看旅客的护照一边录入系统,这个操作一时比较费时,还容易出错。下面我提供一种快速的解决方案:大体思路就是通过图像识别获取护照信息,然后生成ETERM指令。1、提取护照信息这里注意的是如果采用上传方式,也会不方便,这样用户还需要将护照的照片......
  • 1-信息化发展
    1.1信息与信息化1.1.1信息1.信息的定义信息是物质、能量及其属性的标示的集合,是确定性的增加。它以物质介质为载体,传递和反映世界各种事物存在方式、运动状态等的表征。信息不是物质,也不是能量,它以一种普遍形式,表达物质运动规律,在客观世界中大量存在、产生和传递。数学家香......
  • C# 调用Web Api post提交json格式
    转载:https://blog.csdn.net/q_17600689511/article/details/82735172?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-2-82735172-blog-86551903.pc_relevant_multi_platform_whitelistv3&depth_1-utm_source=di......
  • PowerShell中,你可以使用以下命令来操作Windows防火墙并记录流量信息
    在PowerShell中,你可以使用以下命令来操作Windows防火墙并记录流量信息:操作Windows防火墙:查看当前的防火墙规则:powershellCopyCodeGet-NetFirewallRule创建新的防火墙规则:powershellCopyCodeNew-NetFirewallRule-DisplayName"MyFirewallRule"-DirectionInbound-A......
  • 百度地图API自定义地图
    <!DOCTYPEHTMLPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><head><metahttp-equiv="Content......