人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

javascriptについての質問です。
ウェザーハックスというサービスを利用して複数の天気(例:東京、大阪)を表示させる方法を教えて下さい。

HP上に複数の天気(例:東京、大阪)天気予報を表示させようとしているのですがjavascriptがうまくかけません。
尚、こちらの都合でプラグインではなくRESTを利用したいと思います。

■ウェザーハックス
http://weather.livedoor.com/weather_hacks/

■以下はDrk7.jpで紹介(http://www.drk7.jp/MT/archives/001011.html)されているデモになります。
http://www.drk7.jp/pub/js/xml_json/
※上記のデモは1つのエリアの天気を表示させるサンプルですが私は複数のエリアを表示する場合のjavascriptの書き方が知りたいです。おわかりになる方がいましたら教えて頂ければと思います。

●質問者: 雨の日
●カテゴリ:インターネット ウェブ制作
✍キーワード:.jp Hp JavaScript REST エリア
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● Sheile
●60ポイント

一応リクエストとレスポンスの順序は保障されている・・・と思うのですが、確証は無いです。

サービス提供側でロードバランサーなど使用していると、表示順が異なるかもしれません。

その場合はdata["link"]などによるソートをどうぞ。


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>xml2json sample</title>
</head>
<body>

<div>結果(UTF8):<br><span id="id_result"></span></div>
<div id='searching' style='display:none'>now searching...</div>

<script type="text/javascript">
var cities = ['64', '65', '66'];
var day = 'tomorrow';
var name = 'lwws1';
var proxy = 'http://app.drk7.jp/xml2json/';


var lwws1 = {};
lwws1.init = function() {
for(var i = 0; i < cities.length; i++) {
 var script = document.createElement('script');
 script.charset = 'UTF-8';
 script.src = proxy + 'var=' + this.name + '&url=' + 
 escape('http://weather.livedoor.com/forecast/webservice/rest/v1?city=' + cities[i] + '&day=' + this.day);
 document.body.appendChild(script);
}
}

lwws1.onload = function(data){
 var d = document.getElementById('id_result');
 d.innerHTML = d.innerHTML + data["location"]["pref"] +' '+ 
 data["location"]["city"] +' '+ 
 data["telop"] +' '+
 '<img src="' + data["image"]["url"] + '"><br>'+
 data["description"] + '<br>';
}
var old = window.onload;
window.onload = (typeof old != 'function') ?
 lwws1.init : function(e) { old(e); return lwws1.init(e); };
</script>

</body>

</html>
◎質問者からの返答

ありがとうございます。無事表示できました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ