如何获取今天、第二天和后天的天气数据?
How to get data for weather for today, next day and day after?
我正在使用这个 api:http://openweathermap.org/api 但我不知道如何获取今天、后天和后天的数据。有什么建议我可以使用哪些参数以及如何使用?
我试过这样但我迷路了:
var weatherUrl = 'http://api.openweathermap.org/data/2.5/forecast?q=Zurich&APPID=08dbab0eeefe53317d2e0ad7c2a2e060&units=metric';
$.getJSON(
encodeURI(weatherUrl),
function(data) {
if(data !== null && data.list !== null) {
var result = data,
weather = {},
compass = ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW', 'N'],
image404 = 'https://s.yimg.com/os/mit/media/m/weather/images/icons/l/44d-100567.png';
console.log(result);
for(var i = 0; i < result.list.length; i++){
weather.temp = Math.round(result.list[i].main.temp);
weather.code = result.list[i].weather[0].id;
weather.text = ucfirst(result.list[i].weather[0].description);
weather.date = result.dt_txt;
}
options.success(weather);
} else {
options.error('There was a problem retrieving the latest weather information.');
}
}
);
看看:Call 16 day / daily forecast data。此处您的代码已根据您的需要进行了编辑。
function ucfirst(str) {
var firstLetter = str.slice(0, 1);
return firstLetter.toUpperCase() + str.substring(1);
}
var weatherUrl = 'http://api.openweathermap.org/data/2.5/forecast/daily?q=Zurich&APPID=APP_ID&units=metric';
$.getJSON(
encodeURI(weatherUrl),
function (data) {
if (data !== null && data.list !== null) {
var result = data,
weather = {},
compass = ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW', 'N'],
image404 = 'https://s.yimg.com/os/mit/media/m/weather/images/icons/l/44d-100567.png';
console.log(result);
var weathers = [];
for (var i = 0; i < 3; i++) {
weathers.push({
temp: Math.round(result.list[i].temp.day),
code: result.list[i].weather[0].id,
text: ucfirst(result.list[i].weather[0].description),
date: new Date(result.list[i].dt * 1000)
});
}
console.log(weathers);
var today = weathers[0];
var tomorrow = weathers[1];
var dayAfterTomorrow = weathers[2];
} else {
console.log('There was a problem retrieving the latest weather information.');
}
}
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
我正在使用这个 api:http://openweathermap.org/api 但我不知道如何获取今天、后天和后天的数据。有什么建议我可以使用哪些参数以及如何使用?
我试过这样但我迷路了:
var weatherUrl = 'http://api.openweathermap.org/data/2.5/forecast?q=Zurich&APPID=08dbab0eeefe53317d2e0ad7c2a2e060&units=metric';
$.getJSON(
encodeURI(weatherUrl),
function(data) {
if(data !== null && data.list !== null) {
var result = data,
weather = {},
compass = ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW', 'N'],
image404 = 'https://s.yimg.com/os/mit/media/m/weather/images/icons/l/44d-100567.png';
console.log(result);
for(var i = 0; i < result.list.length; i++){
weather.temp = Math.round(result.list[i].main.temp);
weather.code = result.list[i].weather[0].id;
weather.text = ucfirst(result.list[i].weather[0].description);
weather.date = result.dt_txt;
}
options.success(weather);
} else {
options.error('There was a problem retrieving the latest weather information.');
}
}
);
看看:Call 16 day / daily forecast data。此处您的代码已根据您的需要进行了编辑。
function ucfirst(str) {
var firstLetter = str.slice(0, 1);
return firstLetter.toUpperCase() + str.substring(1);
}
var weatherUrl = 'http://api.openweathermap.org/data/2.5/forecast/daily?q=Zurich&APPID=APP_ID&units=metric';
$.getJSON(
encodeURI(weatherUrl),
function (data) {
if (data !== null && data.list !== null) {
var result = data,
weather = {},
compass = ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW', 'N'],
image404 = 'https://s.yimg.com/os/mit/media/m/weather/images/icons/l/44d-100567.png';
console.log(result);
var weathers = [];
for (var i = 0; i < 3; i++) {
weathers.push({
temp: Math.round(result.list[i].temp.day),
code: result.list[i].weather[0].id,
text: ucfirst(result.list[i].weather[0].description),
date: new Date(result.list[i].dt * 1000)
});
}
console.log(weathers);
var today = weathers[0];
var tomorrow = weathers[1];
var dayAfterTomorrow = weathers[2];
} else {
console.log('There was a problem retrieving the latest weather information.');
}
}
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>