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の書き方が知りたいです。おわかりになる方がいましたら教えて頂ければと思います。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2008/08/27 10:21:04
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:sheile No.1

回答回数45ベストアンサー獲得回数16

ポイント60pt

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

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

その場合は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>
id:finnapple

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

2008/08/27 10:21:12

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません