获取Yahoo天气相关总结

来源:互联网 发布:更新linux swap 编辑:程序博客网 时间:2024/05/12 20:17

以下是根据前段时间项目需要查询天气的相关总结代码:

引用:

<script type="text/javascript" src="//code.jquery.com/jquery-1.11.0.min.js"></script><script type="text/javascript" src="//js.maxmind.com/js/apis/geoip2/v2.0/geoip2.js"></script>

JS code :

var myFn=(function($){var myObject={};var _Command=function(options){var params={url:'',callback:function(){}}$.extend(params, options || {});$.getJSON(params.url,function(data){params.callback(data);})}var _GetCity=function(callback){geoip2.city(function(data){callback(data);})}myObject.Command={GetCityDataFormIP:function(callback){return _GetCity(callback);},GetCityData:function(options,callback){if($.isFunction(options)){callback=options;options={};}options = $.extend({city:'Shanghai'},options, {});var url='http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.places%20where%20text%3D%22'+options.city+'%22&format=json&diagnostics=true&callback=?';return _Command({url:url,callback:callback})},GetYahooWeatherData:function(options,callback){if($.isFunction(options)){callback=options;options={};}options = $.extend({WOEID:'2151849',Type:'c'},options, {});var url='http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20weather.forecast%20where%20woeid='+options.WOEID+'%20and%20u="'+options.Type+'"&format=json&diagnostics=true&callback=?';return _Command({url:url,callback:callback})}}return myObject;}(jQuery));

相关方法介绍:
1. myFn.Command.GetCityDataFormIP(); 根据当前客户机获取对应的城市,该方法需要通过传一个回调函数获得返回值:
myFn.Command.GetCityDataFormIP(function(data){ console.log(data) })

2. myFn.Command.GetCityData(); 根据城市名获取相关数据,调用:
myFn.Command.GetCityData({city:'城市名'},function(data){ console.log(data) }); 
该方法的返回值是一个JSON对象其中包含我们需要的城市ID(WOEID),具体的结果集可以在Chrome控制台输出查看。


3.myFn.Command.GetYahooWeatherData();根据城市IE(WOEID)获取Yahoo Weather API 的返回结果,调用:
myFn.Command.GetYahooWeatherData({WOEID,'获取的城市ID',Type:'返回结果的类型 c:摄氏度,f:华氏度'},function(data){ console.log(data) });
 返回值包括风向,温度等等,具体的结果集可以在Chrome控制台输出查看。

注:以上参数不能使中文!
0 0
原创粉丝点击