我如何能够像雅虎网站一样在我的网页上显示天气温度。我想展示一个特定城市的温度。
aspx代码
<div style="position:absolute;height:705px; background-color:#49A3FF; width:214px; top: 171px; left: 1067px;" id="bodyright">
</div>
我想在此标签中显示温度。我从谷歌搜索分配我发现它使用谷歌API但我无法理解如何使用谷歌API。请帮助我
答案 0 :(得分:0)
使用 Microsoft 免费网络服务来获取世界上任何城市的温度。
Here是您应该访问的链接。有很多方法可以调用页面上提到的服务。
示例:强>
调用它的最简单方法:
http://www.webservicex.net/globalweather.asmx/GetWeather?CityName=Karachi&CountryName=Pakistan
<强>解释强>
在上面的例子中:
CityName =卡拉奇
CountryName =巴基斯坦
只需更改城市和国家/地区名称即可根据需要使用它。
<强>代码:强>
//call webservice using HTTP get method
var xml = XDocument.Load("http://www.webservicex.net/globalweather.asmx/GetWeather?CityName=Karachi&CountryName=Pakistan");
//convert it to xml
string response = WebUtility.HtmlDecode(xml.ToString());
您将获得的XML响应:
<string xmlns="http://www.webserviceX.NET">
<?xml version="1.0" encoding="utf-16"?>
<CurrentWeather>
<Location>Karachi Airport, Pakistan (OPKC) 24-54N 067-08E 22M</Location>
<Time>Jul 16, 2014 - 01:25 AM EDT / 2014.07.16 0525 UTC</Time>
<Wind> from the WSW (240 degrees) at 9 MPH (8 KT):0</Wind>
<Visibility> 3 mile(s):0</Visibility>
<SkyConditions> mostly cloudy</SkyConditions>
<Temperature> 87 F (31 C)</Temperature>
<DewPoint> 75 F (24 C)</DewPoint>
<RelativeHumidity> 66%</RelativeHumidity>
<Pressure> 29.44 in. Hg (0997 hPa)</Pressure>
<Status>Success</Status>
</CurrentWeather>
</string>
答案 1 :(得分:0)
你可以使用http://openweathermap.org/current 有一个comlete API描述包括示例。
发送包含城市名称或城市ID的请求。答案是json回调。
实施例: http://api.openweathermap.org/data/2.5/weather?id=2172797
回调中的温度是&#34; Kelvin&#34;。 1开尔文= -272.15摄氏度 1开尔文= -457.87华氏度
公式: 开尔文=摄氏+ 273.15 摄氏度=开尔文 - 273.15
摄氏和华氏 摄氏度= 5/9 x(华氏度-32) 华氏度=(摄氏度/(5/9))+ 32你无法将凯尔文直接转换为华氏度。 你必须先将它转换为摄氏度。
答案 2 :(得分:0)
您可以使用雅虎天气服务。无需注册或任何其他内容。
以下是使用JS更新HTML的示例,它还保持每4分钟更新一次温度,以防用户离开浏览器窗口而不刷新...
var dest$ = $('#bodyright'),
woeid = 2211096;
var updateWeather = function() {
$.getJSON('//query.yahooapis.com/v1/public/yql?format=json&callback=?&q=' + encodeURIComponent('select item from weather.forecast where woeid=' + woeid + ''), function(data) {
if (data && data['query'] && data['query']['results'] && data['query']['results']['channel'] && data['query']['results']['channel']['item'] && data['query']['results']['channel']['item']['condition']) {
var wInfo = data['query']['results']['channel']['item']['condition'];
$('<span></span>')
.appendTo(dest$.append('<br/>'))
.text('Temp: ' + wInfo['temp'] + ' F');
// last updated...:
$('<span></span>')
.appendTo(dest$.append('<br/>'))
.text('Last Updated: ' + wInfo['date']);
// yahoo weather image can be loaded using (yimg_we/' + wInfo['code'] + '.gif'), cant remember URL...
$('<img/>').attr({
'src': 'https://s.yimg.com/dh/ap/default/121210/' + wInfo['code'] + '.png',
'alt': wInfo['text'],
'title': wInfo['text']
}).appendTo(dest$.append('<br/>'));
}
});
setTimeout(updateWeather, 240000);
};
setTimeout(updateWeather, 50);