使用 Vanilla JavaScript 的天气应用程序

使用 Vanilla JavaScript 的天气应用程序

以下方法介绍如何使用 Open Weather Map API 在 Vanilla JavaScript 中创建一个天气应用程序。使用此 API,我们可以获取每个坐标的天气数据。

项目设置:

  • 步骤 1: 现在,前往 https://openweathermap.org/ 创建一个账号并获取 API 密钥。
  • 步骤 2: 在此之后,您可以创建一个文件夹,例如 index.html 和 script.js 文件。
  • 步骤 3: 我们可以使用以下方法获取地理坐标:
    • 通过地理坐标 – 经度和纬度调用 API
    • 通过城市 ID 调用 API
api.openweathermap.org/data/2.5/weather?id={city id}&appid={API key}

示例:

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8" /> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 
    <!--The CSS styling-->
    <style> 
    * { 
        margin: 0; 
        padding: 0; 
        box-sizing: border-box; 
    } 
    body { 
        height: 100vh; 
        display: flex; 
        flex-direction: column; 
        align-items: center; 
        justify-content: center; 
        background: linear-gradient(rgb(123, 184, 104), rgb(13, 87, 10)); 
        font-size: 2rem; 
        font-family: sans-serif; 
        color: rgb(7, 9, 10); 
    } 
    .container { 
        height: 20rem; 
        width: 15rem; 
        background-color: rgb(152, 228, 165); 
        text-align: center; 
        padding-top: 12px; 
        border-radius: 16px; 
        border: 2px solid rgb(14, 43, 1); 
    } 
    </style> 
</head> 
<body> 
    <div class="container"> 
    <div class="icon">---</div> 
    <div class="temp">-°C</div> 
    <div class="summary">----</div> 
    <div class="location"></div> 
    </div> 
    <!--Linking the javascript code-->
    <script src="script.js"></script> 
</body> 
</html> 

Javascript代码

// Declaring the variables 
let lon; 
let lat; 
let temperature = document.querySelector(".temp"); 
let summary = document.querySelector(".summary"); 
let loc = document.querySelector(".location"); 
let icon = document.querySelector(".icon"); 
const kelvin = 273; 
  
window.addEventListener("load", () => { 
  if (navigator.geolocation) { 
    navigator.geolocation.getCurrentPosition((position) => { 
      console.log(position); 
      lon = position.coords.longitude; 
      lat = position.coords.latitude; 
  
      // API ID 
      const api = "6d055e39ee237af35ca066f35474e9df"; 
  
      // API URL 
      const base = 
`http://api.openweathermap.org/data/2.5/weather?lat={lat}&` + 
`lon={lon}&appid=6d055e39ee237af35ca066f35474e9df`; 
  
      // Calling the API 
      fetch(base) 
        .then((response) => { 
          return response.json(); 
        }) 
        .then((data) => { 
          console.log(data); 
          temperature.textContent =  
              Math.floor(data.main.temp - kelvin) + "°C"; 
          summary.textContent = data.weather[0].description; 
          loc.textContent = data.name + "," + data.sys.country; 
          let icon1 = data.weather[0].icon; 
          icon.innerHTML =  
              `<img src="icons/${icon1}.svg" style= 'height:10rem'/>`; 
        }); 
    }); 
  } 
}); 

输出:

使用 Vanilla JavaScript 的天气应用程序

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程