Aplicación meteorológica con JavaScript Vanilla

El siguiente enfoque cubre cómo crear una aplicación meteorológica en Vanilla JavaScript utilizando Open Weather Map API. Usando esta API, podemos obtener datos meteorológicos para cada coordenada.

Configuración del proyecto:

  • Paso 1: Ahora vaya a https://openweathermap.org/ y cree una cuenta y obtenga su CLAVE API.
  • Paso 2: después de eso, puede crear una carpeta y agregar un archivo, por ejemplo, un archivo index.html y script.js.
  • Paso 3: podemos obtener coordenadas geográficas utilizando los siguientes enfoques:
    • API de llamada por coordenadas geográficas: latitud y longitud
    • api.openweathermap.org/data/2.5/weather?lat={lat}&lon={lon}&appid={clave API}

    • API de llamadas por ID de ciudad

      api.openweathermap.org/data/2.5/weather?id={id de la ciudad}&appid={clave API}

Ejemplo:

index.html

<!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>

script.js

// 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'/>`;
        });
    });
  }
});

Producción:

Referencia: https://openweathermap.org/current

Publicación traducida automáticamente

Artículo escrito por debjani1413 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *