ねえ、私はあちこちを検索しましたが、本当に決心することはできません。yahoo サーバーから天気を取得する天気ウィジェットをインストールしましたが、いくつかのことを行う方法がわかりません。なんらかのハックなしで、DAY から NIGHT の画像を自動的に切り替えることができます。5日間の予報を引き出す方法もわかりません。
これは私が使用しているものです:
$.YQL = function(query, callback) {
var encodedQuery = encodeURIComponent(query.toLowerCase()),
url = 'http://query.yahooapis.com/v1/public/yql?q=' + encodedQuery + '&format=json&callback=?';
$.getJSON(url, callback);
};
$.YQL("SELECT * FROM weather.forecast WHERE location = 93065", function(data){
var w = data.query.results.channel;
var d = new Date();
var curr_hour = d.getHours();
var dn = (curr_hour < 18 && curr_hour > 4 ? 'd' : 'n');
var weatherImage = "http://l.yimg.com/a/i/us/nws/weather/gr/" + w.item.condition.code + dn + ".png";
var weatherIcon = "http://l.yimg.com/a/i/us/nws/weather/gr/" + w.item.condition.code + "s.png";
$('.weatherImage').html("<img src='" + weatherImage + "' />");
$('.weatherTemp').html(w.item.condition.temp + "°");
$('.weatherText').html(w.item.condition.text);
$(this).everyTime('300s', function(){
var w = data.query.results.channel;
var d = new Date();
var curr_hour = d.getHours();
var dn = (curr_hour < 18 && curr_hour > 4 ? 'd' : 'n');
var weatherImage = "http://l.yimg.com/a/i/us/nws/weather/gr/" + w.item.condition.code + dn + ".png";
var weatherIcon = "http://l.yimg.com/a/i/us/nws/weather/gr/" + w.item.condition.code + "s.png";
$('.weatherImage').html("<img src='" + weatherImage + "' />");
$('.weatherTemp').html(w.item.condition.temp + "°");
$('.weatherText').html(w.item.condition.text);
});
}).appendTo('.pin-up-weather');
きれいではありませんが、短期的な解決策です。かなり動的に機能するカスタムメイドの天気フィードを使用した経験のある人はいますか?
ユーザーが閲覧している場所に基づいて天気を更新したかったのですが、それはできません。Google の地理位置情報 API を見ましたが、マップ API が引き継いだサービスはもうありませんが、まだ理解できませんでした。
そうでない場合は、ユーザーがプロファイルで指定した内容に応じて、スクリプトがデータベースから場所を取得しても問題ありません。
ありがとう