「簡単地図作成サイト」ベースの電子国土サイトを Haml で簡潔に書く

{markup haiku} がキャッチフレーズの Haml電子国土サイトを簡潔に書いてみました。

サイトのソース

!!! XML
!!! 1.1
%html
  %body
    %script{:type => 'text/javascript',
            :src => 'http://cyberjapan.jp/ptmap/ptmopen.js',
            :charset => 'UTF-8'}
    :javascript
      function current_position() {
        var e = document.getElementById('position');
        e.value = map.getCx() + ' ' + map.getCy() + ' ' + map.getMapScale();
      }
      MAP_LOAD({"t": "map",
                "v": [550, 340],
                "c": [135, 35],
                "s": 150000,
                "fw": ["Mixed_L", "MapImage_S"]});
    %br
    %button{:onclick => 'current_position()'}現在位置
    %input{:type => 'text', :id => 'position', :size => '60'}

これを ptmap.haml という名前で保存しました。「簡単地図作成サイト」のおかげで、その他にはファイルを用意する必要がありません。また、API キーなどを取得する必要もありません。

haml 導入・html 変換・サイト閲覧

> sudo gem install haml
> haml ptmap.haml ptmap.html
> open ptmap.html

これで ptmap.haml が ptmap.html に変換され、ブラウザで表示されます(Mac OS X の場合)。

結論

Haml でブラウザベースの Web マップサイトを書くととても簡潔に書けます。
これと Rack や Sinatra と Sequel を組み合わせると、かなりのことをかなり簡潔に書けそうです。