当前位置: 首页 > news >正文

实用指南:城市天气查询系统 (City Weather Dashboard)

️ 城市天气查询系统 (City Weather Dashboard)

这是一个基于Vue.js 3构建的现代化天气查询 Web 应用。它集成了数据可视化图表和交互式地图,能够为用户提供直观、详细的城市天气信息,包括当前天气、未来 7 天预报、温度走势图以及地理位置展示。

本前端软件天气图标来源

✨ 主要能力

  • 城市搜索: 拥护输入城市名称(拥护中文拼音或英文)进行全球城市搜索。
  • ️ 实时天气: 显示查询城市的当前温度、天气状况及对应的天气代码。
  • 7 天预报卡片: 以卡片形式直观展示未来一周的天气图标、天气描述及最高/最低气温。
  • 温度趋势图: 使用 ECharts绘制平滑折线图,展示未来一周的最高温和最低温走势。
  • ️ 交互式地图: 使用 Leaflet自动定位到查询城市,支持缩放、平移,并提供多种地图图层切换(街道图、卫星图、地形图等)。
  • 响应式布局: 界面整洁,利用 Flexbox 布局适配不同屏幕区域。
image

️ 技术栈

本项目纯前端实现,无需后端服务,依赖以下开源库和 API:

核心框架与库

  • HTML5 / CSS3: 页面结构与样式布局。
  • Vue.js 3 (CDN): 用于处理数据绑定、DOM 更新及应用逻辑。
  • ECharts 5 (CDN): 用于绘制交互式温度折线图。

在这里插入图片描述

  • Leaflet.js (CDN): 用于加载地图瓦片和进行地理定位。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

数据源 API

  1. OpenWeatherMap Geo API: 用于将城市名称转换为经纬度坐标。
    • 端点: http://api.openweathermap.org/geo/1.0/direct(需要api,请在源码此处添加api,免费拥有)网址
// API密钥
const apiKey = "";
  1. Open-Meteo API: 用于获取详细的气象数据(无需 API Key)。
    • 端点: https://api.open-meteo.com/v1/forecast
  2. Weather Icons: 使用 bmcdn.nl 提供的 SVG 天气图标。图标来源

文件结构说明

Plaintext

Project_Root/

├── index.html # 项目入口文档,包含 HTML 结构和库的引入
├── style.css # 全局样式记录,定义 Flex 布局和组件样式
├── app.js # 核心逻辑文件,包含 Vue 实例、API 请求和地图逻辑
├── WeatherWeek.js # 负责渲染未来 7 天天气卡片的逻辑
└── T_Curve.js # 负责初始化和更新 ECharts 温度折线图的逻辑

快速开始

1. 克隆或下载项目

将所有档案下载到本地同一个文件夹中。

2. 设置 API Key (可选但推荐)

在 app.js 文件顶部,默认提供了一个 OpenWeatherMap 的测试 Key。为了保证稳定性,建议替换为您自己的 Key:

JavaScript

// app.js 第 4 行
const apiKey = “YOUR_OPENWEATHERMAP_API_KEY”;

3. 运行项目

由于启用了 ES6 模块和部分跨域资源,建议使用本地服务器运行,而不是直接双击打开 HTML 文件。

方法 A:使用 VS Code Live Server 插件(推荐)

  1. 在 VS Code 中打开方案文件夹。
  2. 右键点击 index.html。
  3. 选择 “Open with Live Server”。

方法 B:使用 Python
在任务目录下打开终端,运行:

Bash

# Python 3
python -m http.server 8000

然后在浏览器访问 http://localhost:8000。

使用指南

https://github.com/user-attachments/assets/23b3f391-356d-41d1-82ee-a6b4b9d7921d

请添加图片描述

  1. 输入城市: 在页面左上角的输入框中输入城市名称(例如:“Beijing”, “London”, “Shanghai”)。
  2. 点击查询: 点击“查询天气”按钮。
  3. 查看结果:
    • 左上区域: 显示正在查询的状态以及查询成功后的当前简要天气。
    • 右上区域: 显示未来一周的文字版摘要。
    • 中间横排: 显示 7 张精美的天气卡片。
    • 左下区域: 查看未来一周的温度变化曲线。
    • 右下区域: 地图自动飞往该城市。你可以点击地图右上角的图层控制器切换“卫星图”或“地形图”。

代码模块详解

app.js

T_Curve.js

  • 使用 ECharts 初始化图表实例。
  • updateChart(data): 接收 API 数据,解析最高/最低气温,并配置图表的渐变色样式和 Tooltip。

WeatherWeek.js

网站预览

本代码已经部署在网页可直接访问

https://weatherforecastfromnoterai.netlify.app/

源码共享

在这里插入图片描述

github网站分享

在这里插入图片描述
gitee网站分享

http://www.jsqmd.com/news/316098/

相关文章:

  • 2026年比较好的除草剂生产耙式真空干燥机/不锈钢耙式真空干燥机厂家推荐及选择参考
  • 2026年靠谱的气膜田径馆/气膜匹克球馆热门厂家推荐榜单
  • Linux内核资源管理机制深度剖析:从IO端口申请到释放的完整生命周期 - 实践
  • C++ 发展简史与核心语法入门 - 教程
  • 2026年知名的气膜仓库/气膜厂房厂家推荐及采购参考
  • OoderAgent Nexus 版本分支正式提交[号外]—核心四问
  • 2026年评价高的汽车EPP工具箱包装/高性能泡沫塑料包装行业内口碑厂家排行榜
  • 2026年质量好的新中式铝艺凉亭/户外铝艺凉亭厂家最新实力排行
  • 互联网大厂Java面试:从消息队列到微服务架构场景解析
  • 基于Java的幼儿园智慧管理系统的设计与实现全方位解析:附毕设论文+源代码
  • 基于Java的广告业绩考核智慧管理系统的设计与实现全方位解析:附毕设论文+源代码
  • 用ProxyPin抓到NintendoToday的每日动画
  • 基于Java的广告制品制作智慧管理系统的设计与实现全方位解析:附毕设论文+源代码
  • 关系型数据库大王Mysql——SQL编程
  • 2026年热门的工业气体厂家推荐及选择指南
  • 2026年热门的消防水带行业内知名厂家排行榜
  • 2026年口碑好的古筝厂家最新推荐排行榜
  • 互联网大厂Java求职面试实录:从基础到进阶的技术与业务场景解析
  • hyperf的config/autoload/server.php的庖丁解牛
  • 2026年质量好的LDPE塑料粒子/HDPE塑料粒子品牌厂家排行榜(热门)
  • 2026年知名的箜篌/扬州箜篌厂家热销推荐榜(最新热卖)
  • 完整教程:JavaEE进阶——SpringBoot拦截器详解:从入门到实战
  • 2026年靠谱的百洁布/植物纤维百洁布品牌厂家排行榜
  • 实用指南:Python跳跳棋游戏:从基础实现到高级算法详解
  • 2026年口碑好的PE复合PA再生颗粒/木塑再生颗粒优质厂商精选榜(口碑优)
  • 【BUG】【Python】【Spider】Compound class names are not allowed.
  • 【bug】【Python】pandas中的DataFrame.to_excel()和ExcelWriter的区别
  • 2026年质量好的保洁抹布/网红抹布热门厂家排行TOP(权威版)
  • 2026年评价高的活动雨棚/雨棚厂家信誉综合榜(权威)
  • 2026年质量好的纳米海绵/海绵百洁布厂家热销推荐榜(最新热卖)