当前位置: 首页 > 知识库问答 >
问题:

从OpenWeatherMap.org获取天气数据并输入Javascript值

公羊曜灿
2023-03-14

在过去的一周里,我一直在努力了解OpenWeatherMap API(链接),但是我现在很难将温度输入到一个JavaScript变量中。我使用过许多教程,但是我还没有找到一个将温度值放入JavaScript变量的教程。

如果你们想知道,这是API的结构:

http://api.openweathermap.org/data/2.5/weather?q=London

我目前有这个代码:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>My Weather App</title>
    <script src="weatherapp.js" type="text/javascript"></script>

    <style> body {padding: 0; margin: 0;} canvas {vertical-align: top;} </style>
  </head>
  <body>

    <script>
var weather;

loadJSON ('http://api.openweathermap.org/data/2.5/weather?q=London&APPID=YOURDATA', gotData);

function gotData(data) {
  weather = data;
  window.alert(weather.main.temperature);
}

</script>
  </body>
</html>

提前谢谢你,瑞奇

共有1个答案

卓胜
2023-03-14

我使用wunderground API找到了一个解决方案。这是气象网络的API。下面是接受用户输入并返回位置、温度、湿度和风速的代码。Javascript:

var weather = new XMLHttpRequest();
var city = "London";
var prov = "GB";
function testFunction (){
  var city = document.getElementById("city").value;
  var prov = document.getElementById("state").value;
  weather.open("GET", "http://api.wunderground.com/api/YOURAPIID/conditions/q/" + prov + "/" + city + ".json", false);
  weather.send(null);
  var r = JSON.parse(weather.response);

  var dis = "Current location: " + r.current_observation.display_location.full + "  <p>";
  var temp = r.current_observation.temp_c + "  <p>";
  var wind = r.current_observation.wind_string + "  <p>";
  var humid = r.current_observation.relative_humidity +"   <p>";
  function getWeather(id, res) {
    document.getElementById(id).innerHTML = res;
  }

  getWeather("weather", dis);
  getWeather("temp", temp);
  getWeather("wind", wind);
  getWeather("humid", humid);
 //alert ('gey')
}
  
CSS:
body {
  font-family: sans-serif;
  width: 800px;
  font-size: 3em;
  margin: auto;
}

#weather {
  margin-top: 100px;
}

#temp {
  font-weight: bold;
}

#temp:hover {
  background: yellow;
  cursor: pointer;
}

#wind {
  font-style: italic;
}
HTML:
<div id="weather"></div>
<p>Current Temp: <span id="temp"></span></p>
<p>Current Wind: <span id="wind"></span></p>
<p>Current Humidity: <span id="humid"></span></p>
City: <input id="city" value="London"></input><br>
Province/Country: <input id="state" value="GB"></input>
<button onclick="testFunction()">Submit</button>
 类似资料:
  • 你好:)我正在写一个电报机器人,显示今天和明天的天气。作为我正在使用的数据openweathermap.org. 现在,我使用了getTodaysWeather方法从JSON中获取有关Java对象的信息http://www.jsonschema2pojo.org并写道: 现在,我需要编写一个方法,从JSON数据中获取明天的天气数据http://api.openweathermap.org/data

  • 使用koa2编写代码如下: 本来想通过请求 '/getWeather' 获取天气数据,也试了用axios请求,但都返回如下错误 请求的链接已经验证过,浏览器是能返回的

  • 21.1 注册免费API和阅读文档 本节通过一个API接口(和风天气预报)爬取天气信息,该接口为个人开发者提供了一个免费的预报数据(有次数限制)。 首先访问和风天气网,注册一个账户。注册地址:https://console.heweather.com/ 在登陆后的控制台中可以看到个人认证的key(密钥),这个key就是访问API接口的钥匙。 获取key之后阅读API文档:https://www.h

  • 更新:修改了这个问题,以更好地反映我目前的理解。 我有一个NetCDF 4.5版本的Grib2记录对象。给定一个(x,y)网格点和一个变量名,我想从对象中按预测时间提取该变量的所有预测数据(如果记录包含该变量的预测)。由于写入磁盘索引文件的默认行为,我不想使用更高级别的NetCDFFile接口。 我尝试过查看底层代码(Grib2Rectilyser,Grib2Customizer等)。)但是代码太

  • 问题内容: 我从SQL获取数据并将其放在列表中。这就是我现在正在尝试的 这就是我从sql获取数据的方式, 桌子看起来像这样 aID,bID,名称 ** 问题 ** 我被困在如何将项目添加到列表中,这 也是最佳实践吗? 问题答案:

  • 利用三种不同的解析方法(json,xml,plist)解析天气,另外,本demo还演示了定位获取当前位置天气、两种http方式(POST与GET)获取天气的功能。 [Code4App.com]