您的位置:首页 > 其它

根据IP获取当地天气

2016-09-22 11:08 211 查看
需求:根据IP获取当地天气

参考:http://news.qq.com/    其页面中有获取天气的实现。

具体实现:1.查看上面网页,找出其相关代码(我使用的是chrom浏览器,F12调出调试模式)

2.解释主要代码:

(1)<script src="http://fw.qq.com:80/ipaddress"></script> :加载这个js,返回的信息:var IPData = new Array("60.29.153.39","","天津市","");

其返回的是本机的IP和地区(类似山东省,济南市;因为天津是直辖市比较特殊,最后市为空;后面有专门判断)。

注意:http://fw.qq.com:80/ipaddress现在打不开,可以找搜狐的相关的地址,返回信息有点不一样,但是基本信息都在的。可以参考的有(

国家气象局提供的天气预报接口地址:http://www.weather.com.cn/data/sk/101010100.htmlhttp://www.weather.com.cn/data/cityinfo/101010100.htmlhttp://m.weather.com.cn/data/101010100.html

搜狐的地址:http://pv.sohu.com/cityjson?ie=utf-8

(2)<div id="weatherWrap">

<span id="echoData"></span>

<span id="echoWeek"></span>

<span id="wCity"></span>

<span id="weatherIco"></span>

<span id="wTp"></span>

</div>  

主要是设置显示信息;具体的操作在下面的js中。

(3)<script type="text/javascript">

...............................

   document.getElementById("echoWeek").innerHTML = "星期"+sMday[sTime2];

   document.getElementById("echoData").innerHTML = sTime1;

</script>

设置时间的部分,比较简单,不在多说了

(4)<script src="http://news.qq.com/newsweather/showWeather.js" type="text/javascript"></script>这个js里面是主要的处理天气的部分:

首有城市与城市ID对应关系;

然后根据(1)中地区获取相应的城市ID;

 再次,根据地址:'http://weather.gtimg.cn/city/' + cityId + '.js?ref=qqnews';返回的信息是这个地区的各种信息(天气,温度,等)

最后,根据上步取出所需要的信息即可。

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