基本的には、小飼弾さんが公開されていた“野良API”を使って各データを取り、
その要望の大きいもののURIを表示する…って言う感じです。
JSON処理関連はコピペも同然で恐縮なのですが。とりあえず。
参考エントリ
404 Blog Not Found:今日のMyMiniCity – 2007.12.21 + 野良APIというわけでサンプル。
こんな感じ。
ソースは以下。
mmc.js
弾さんのクライアント側コードの改変です。
MyMiniCity = function(proxy, callback){
this.proxy = proxy || 'http://api.dan.co.jp/myminicity';
this.callback = callback || 'jsonp';
this.parse = function(city, callback){
if (! callback) callback = this.callback;
var script = document.createElement('script');
script.id = this.proxy + '/' + city + '/' + callback;
script.charset = 'UTF-8';
script.src = script.id;
document.lastChild.appendChild(script);
};
return this;
}
var mmc = new MyMiniCity();
function jsonp(json){
var data = new Array(4);
data['ind'] = json['unemployment'];
data['tra'] = json['transport'];
data['sec'] = json['criminality'];
data['env'] = json['pollution'];
var i = 0;
keys = new Array(data.length);
for( key in data ){
keys[i] = key;
i++;
}
keys.sort();
keys.reverse();
var a = document.createElement('a');
a.target = '_blank';
a.href = 'http://'+json.host + '/' + keys[0];
a.innerHTML = json.name + ' - MyMiniCity';
var e = document.getElementById('mmc.uri');
e.innerHTML = '';
e.appendChild(a);
}
エントリ側記述
<script src="/js/mmc.js" type="text/javascript"></script>
<script>
var city = '街の名前';
window.onload = function(){ mmc.parse(city) }
</script>
<span id="mmc.uri"></span>
なるほどね。
正直言って、JavaScriptは殆ど分からないんでプログラム書くレベルにないんだけど、
思いつきを書いてみたって言うことで。