根据IP获取当地天气
需求:根据IP获取当地天气
参考:http://news.qq.com/ 其页面中有获取天气的实现。
具体实现:1.查看上面网页,找出其相关代码(我使用的是chrom浏览器,F12调出调试模式)
2.解释主要代码:
(1) :加载这个js,返回的信息:var IPData = new Array("60.29.153.39","","天津市","");
其返回的是本机的IP和地区(类似山东省,济南市;因为天津是直辖市比较特殊,最后市为空;后面有专门判断)。
注意:http://fw.qq.com:80/ipaddress现在打不开,可以找搜狐的相关的地址,返回信息有点不一样,但是基本信息都在的。
(2)
主要是设置显示信息;具体的操作在下面的js中。
(3)
...............................
document.getElementById("echoWeek").innerHTML = "星期"+sMday[sTime2];
document.getElementById("echoData").innerHTML = sTime1;
设置时间的部分,比较简单,不在多说了
(4)这个js里面是主要的处理天气的部分:
首有城市与城市ID对应关系;
然后根据(1)中地区获取相应的城市ID;
再次,根据地址:'http://weather.gtimg.cn/city/' + cityId + '.js?ref=qqnews';返回的信息是这个地区的各种信息(天气,温度,等)
最后,根据上步取出所需要的信息即可。