您的位置:首页 > 编程语言 > Go语言

Google Map Api 和Google Weather Api实践之天气预报

2009-07-15 21:04 633 查看
Google Weather Api可以接受经纬度坐标当参数来获取指定经纬度的天气情况,如湿度,风向等,同时也可以获取该点的后5天的天气预报情况。所以有了个想法,就是将Google Weather Api支持的城市的天气情况,然后结合到GoogleMap中,可以直观显示出主要城市的天气情况。首先需要将天气情况存储到数据库中,用以后面的天气情况的显示。如下是针对Google Weather Api的调用并解析(Api调用地址: string GWP_Url = "http://www.google.com/ig/api?hl=zh-cn&weather=,,,{0},{1}";),发送请求解析保存到指定的数据库表。

var jsWeathers = Ext.util.JSON.decode(result.responseText);

for (var i = 0; i < jsWeathers.length; i++) {

var lat = jsWeathers[i].Lat * 0.000001;

var lon = jsWeathers[i].Lon * 0.000001;

var point = new GLatLng(lat, lon);

var mark = new GMarker(point, { icon: getWeatherIcon(jsWeathers[i].WeatherInfos[0].Icon) });

var infoTabs = [];

for (var k = 0; k < jsWeathers[i].WeatherInfos.length; k++) {

if (k == 0) {

infoTabs.push(new GInfoWindowTab(jsWeathers[i].WeatherInfos[k].DayOfWeek, "城市:" + jsWeathers[i].CityName + "<br/>天气:" + jsWeathers[i].WeatherInfos[k].Conditon + "<br/>" + jsWeathers[i].WeatherInfos[k].Humidity + "<br/>" + jsWeathers[i].WeatherInfos[k].WindCondition));

}

else {

infoTabs.push(new GInfoWindowTab(jsWeathers[i].WeatherInfos[k].DayOfWeek, "天气:" + jsWeathers[i].WeatherInfos[k].Conditon + "<br/>" + "最高温度:" + jsWeathers[i].WeatherInfos[k].High + "<br/>" + "最低温度:" + jsWeathers[i].WeatherInfos[k].Low));

}

}

mark.infoTabs = infoTabs;

map.addOverlay(mark);

(function(mark, infoTabs) {

GEvent.addListener(mark, "mouseover", function() {

mark.openInfoWindowTabsHtml(infoTabs);

});

})(mark, infoTabs);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: