MyMiniCity … オススメURIの表示をでっち上げ。(JavaScriptバージョン)

先ほどのヤツが余りにアレだったので、アレついでに苦手のJavaScriptを触ってみましたよ。
基本的には、小飼弾さんが公開されていた“野良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は殆ど分からないんでプログラム書くレベルにないんだけど、
思いつきを書いてみたって言うことで。