Face GIS.

Welcome to GIS World.

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天,晕菜!

//调用 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 "";
  }

本机调试没问题,可找了个服务器却不支持.net2,效果出不来,更晕! :(

参考:
脚本部分
网页抓取

posted on 2007-11-13 11:18  Dull Bear  阅读(2151)  评论(3)    收藏  举报

导航

About me