如何在SimpleWeather.js中添加更多位置?

时间:2013-05-28 01:37:34

标签: jquery yahoo weather

我正在我的网站上使用此插件:Simple Weather,以便将天气绑定到我正在构建的简单小部件中。

我需要做的就是从邮政编码中显示更深入的位置。目前,如果我控制台在其源代码中记录“结果”对象,我只有三个位置选项。

在插件的每个函数中,我添加了这个:

console.log(result);

在这个大对象中,我可以看到一个位置对象,它具有以下值:

location: Object
    city: "Sydney"
    country: "AS"
    region: ""

如果我能获得州,PROPER郊区/城市,邮政编码,我会喜欢它。目前,我已经为澳大利亚输入了2250的邮政编码,悉尼不是该邮政编码的城市。

我可以添加一些东西来检索这些数据吗?

这就是我用来实例化简单天气的方法。

    $.simpleWeather({
        zipcode: '2250', //Gosford
        //woeid: '2357536',
        location: 'Australia',
        unit: 'c',
        success: function(weather) {
            $('#imageThumbnail').html('<img src="'+weather.image+'" width="110" >');
            $('#degree .degree').html(weather.temp+'&deg; ');
            $('.minmax .min').html('MIN: '+weather.low+'&deg;' + weather.units.temp);
            $('.minmax .max').html('MAX: '+weather.high+'&deg;' + weather.units.temp);            
            $(".weather .content").slideDown().closest('.weather').find('.loading').remove();                        
        },
        error: function(error) {
            $(".weather").html('<p>'+error+'</p>');
        }
    });

2 个答案:

答案 0 :(得分:2)

问题似乎是您无法设置邮政编码和位置。位置会覆盖邮政编码,因此根本不会使用它,而只是搜索Australia。我不知道YQL是否/如何允许澳大利亚邮政编码,所以不知道你可以放在那里。

如果您只是获取一个地方的数据,请尝试使用woeid(woeid: '12706876', - Gosford,NSW)或仅搜索位置(location: 'gosford, australia',)。

答案 1 :(得分:1)

您无法添加任何内容来更改api响应格式。

api响应的格式详细here

此外,Simple Weather会返回来自api的整个响应以供您使用。因此,api响应的格式定义了它可以包含的所有可能数据。

如果邮政编码的api响应不正确,您可以尝试使用位置或woeid查询它。