Google maps api 地图中添加天气信息的办法
做了个google maps api的网页,想加入天气信息,从网上找,基本思路有两条:
1、自己有天气信息,直接写javascript就OK了;可以参见(http://www.fs121.com/forecast/fogmap.html)
2、自己没有天气信息,就需要从天气预报的网站上找了,这里也有两条来源:
A) lq121,china等网站都有天气预报,将html读出来OK;
B) google weather api,http://www.google.com/ig/api?hl=zh-cn&weather,,, + lat,lon调用可以返回xml文档,解析之亦得;
我们只有采用第2种方式,至于A或B都可以。
问题在于js脚本访问外部网站会提示安全问题,对于用户来讲很大压力,很多人会选择拒绝访问,因此这是个难点。后来想了个办法来回避这个问题,希望对大家有益:
将js访问的页面转移到由asp.net服务器端页面来访问,然后由asp.net将访问结果返回到js,这样可以避开安全提示。^_^
其实很简单,哎!作了2天,晕菜!
参考:
脚本部分
网页抓取
1、自己有天气信息,直接写javascript就OK了;可以参见(http://www.fs121.com/forecast/fogmap.html)
2、自己没有天气信息,就需要从天气预报的网站上找了,这里也有两条来源:
A) lq121,china等网站都有天气预报,将html读出来OK;
B) google weather api,http://www.google.com/ig/api?hl=zh-cn&weather,,, + lat,lon调用可以返回xml文档,解析之亦得;
我们只有采用第2种方式,至于A或B都可以。
问题在于js脚本访问外部网站会提示安全问题,对于用户来讲很大压力,很多人会选择拒绝访问,因此这是个难点。后来想了个办法来回避这个问题,希望对大家有益:
将js访问的页面转移到由asp.net服务器端页面来访问,然后由asp.net将访问结果返回到js,这样可以避开安全提示。^_^
其实很简单,哎!作了2天,晕菜!
//调用 google weather api ,返回一个当地天气列表的 xml文件
//var strURL="http://www.google.com/ig/api?hl=zh-cn&weather=,,,"+point.lat()*1000000+","+point.lng()*1000000;
var strURL = "Weather.aspx?lat=" + point.lat()*1000000+"&lng="+point.lng()*1000000;
var xmlDoc= new ActiveXObject("MSXML2.DOMDocument");
try
{
request.open("GET",strURL,false);
request.send();
xmlDoc.loadXML(request.responseText);
}
catch(err)
{
return "";
}
参考:
脚本部分
网页抓取
浙公网安备 33010602011771号