获取Yahoo天气相关总结

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

引用:

<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控制台输出查看。

注:以上参数不能使中文!
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值