从天气 API 获取每小时信息
Getting hourly info from weather API
我正在尝试从天气API访问每小时信息。问题是它对我不太有用,而且我不是 100% 确定如何访问这些信息。
这是我正在使用的网站,也是每小时信息的页面。http://www.wunderground.com/weather/api/d/docs?d=data/hourly&MR=1我有一种强烈的感觉,这与访问变量的方式有关......
这是我的代码:
<script>
jQuery(document).ready(function($) {
$.ajax({
url: "http://api.wunderground.com/api/6368023a57d122c7/geolookup/conditions/q/DominicanRepublic/Barahona.json",
dataType : "jsonp",
success : function(parsed_json) {
//get the hourly info -- cant get hourly to work...
var month = parsed_json['hourly_forecast']['FCTTIME']['mon_padded'];
var day = parsed_json['hourly_forecast']['FCTTIME']['mday_padded'];
var year = parsed_json['hourly_forecast']['FCTTIME']['year'];
var time = parsed_json['hourly_forecast']['FCTTIME']['civil'];
var updated = month + "/" + day + "/" + year + " " + time;
var weather = parsed_json['hourly_forecast']['condition'];
var temp = parsed_json['hourly_forecast']['temp']['metric'];
var humid = parsed_json['hourly_forecast']['humidity'];
var wind_direction = parsed_json['hourly_forecast']['wdir']['dir'];
var wind_speed = parsed_json['hourly_forecast']['wspd']['metric'];
var wind_string = wind_direction + " " + wind_speed + " Km/h";
document.getElementById("weather").innerHTML = weather;
document.getElementById("temp").innerHTML = temp;
document.getElementById("hum").innerHTML = humid;
document.getElementById("wind").innerHTML = wind_string;
}
});
});
</script>
如果从该 URL 打开 JSON 文件,您将看到它不包含"hourly_forecast"或"FCTTIME"。
编辑:
打开您正在下载的 JSON 文件,并查看它发回给您的字段。 JQuery 已经完成了困难的部分,并将其解析为对象模型。 此外,Chrome 中的 JavaScript 调试器非常适合向您展示 JSON 对象模型。 您可以在"成功"函数的开头设置断点,并使用"局部变量"窗口浏览 JSON 对象。
这是我更新它以使用 JSON 文件中的正确字段名称后的代码......
<script>
jQuery(document).ready(function ($) {
$.ajax({
url: "http://api.wunderground.com/api/6368023a57d122c7/geolookup/conditions/q/DominicanRepublic/Barahona.json",
dataType: "jsonp",
success: function (parsed_json) {
var current_observation = parsed_json.current_observation;
var lastUpdated = current_observation.observation_time;
var weather = current_observation.weather;
var temp = current_observation.temp_c;
var humid = current_observation.relative_humidity;
var wind_direction = current_observation.wind_dir;
var wind_speed = current_observation.wind_kph;
var wind_string = wind_direction + " " + wind_speed + " Km/h";
alert("Weather: " + weather + "'n"
+ "Temp: " + temp + "'n"
+ "Humidity: " + humid + "'n"
+ "Wind: " + wind_string + "'n"
+ lastUpdated
);
}
});
});
</script>
相关文章:
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 每小时倒计时一次,但以30分钟为单位
- jQuery每6小时倒计时一次
- Highcharts tick每小时间隔一次
- 在nodeJS中每小时运行一次调度作业
- 如何每10分钟运行一次函数,在10分钟标记上,每小时运行6次
- 简单的javascript时间/金钱每小时计算器
- 设置javascript cookie每小时过期一次
- 每 3 小时显示一次对话框
- 如何每小时调用一次函数
- 从天气 API 获取每小时信息
- 每小时自动运行一次PHP页面 - 无需使用Cron作业
- 高图表区域:以小时为单位的 x 轴,但每小时显示多个点
- 为每小时天气预报制作滑块
- setInterval()是如何工作的?我可以用它每小时更换一次图像吗
- 需要使用此JSON文档并使用$.ajax()从API创建每小时一次的天气更新
- 如何每小时自动调用javascript函数
- 每8小时到达00:00:00时刷新页面并重新开始倒计时
- 自定义倒计时脚本,每8小时重新启动一次
- 游戏如何在不影响db的情况下每小时增加x个金币?