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}";),发送请求解析保存到指定的数据库表。

 

            GWP_Response.Close();

     获取对应的信息即可开始显示在地图上了,数据库表中有对应的经纬度信息,和相应的天气预报情况。 这里主要使用Google Map Api的GInfoWindowTab类显示对应以后每天的天气预报情况。点击查看在线Demo,GoogleMap显示天气预报信息 详细代码如下:

 

 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);

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-01-24
  • 2021-07-05
  • 2022-12-23
  • 2021-09-02
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-02-15
  • 2021-09-01
  • 2022-01-16
  • 2022-12-23
  • 2021-10-15
相关资源
相似解决方案