過去にWeb Designingに掲載されていたサイトを見ていたところ、「KML」というドキュメントを知り、早速このサイトの沖縄旅日記「Shimalog」にも取り入れてみました。
KMLとは
KMLとは、三次元地理空間情報を記録したXMLベースのドキュメントで、Google EarthやGoogle マップ、Yahoo! Pipesなどで利用できます。特定の位置に目印をつけるKMLは、Point要素に名前と位置(経度・緯度)などを記述するのみ。次のように簡単に書くことができました。
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.2">
<Placemark>
<name>リゾートエリアの隠れた絶景(恩納村 仲泊遺跡)</name>
<description>真夏の暑い中、ごつごつした石畳の道を登って出会った風景。</description>
<Point>
<coordinates>127.793280,26.436003,0</coordinates>
</Point>
</Placemark>
</kml>
KMLをGoogle マップ上に表示
KMLをGoogle マップ上に表示させるのはとても簡単。作成したKMLをサーバーにアップロードし、「http://maps.google.co.jp/maps?q=(KMLのURL)」のようにKMLのURLを渡すのみで完了です。パラメーター「z」に適当な値を指定し、ズームレベルも指定しておくと良いようです。
KMLを使用する前は、パラメーターqに緯度・経度を指定していたので、Google マップを表示した際に経度・緯度のみが書かれた情報ウィンドウが現れたのですが、KMLを使用することで任意の名前などが表示でき、大変分かりやすくなりました。
- 今回は、description要素をCDATAセクションにし、HTMLで写真などを追加しています。
地理情報コンテンツの送信
「地理情報コンテンツをGoogleへ送信する」という解説がGoogleに掲載されており、作成したKMLがGoogleで検索されるように通知できることも分かりました。
そこで、まずKMLファイルにAtom配信フォーマットで定義された要素を使用し、作成者情報を追加しました。さらに、KMLファイルを一覧化したサイトマップファイルを作成し、Google ウェブマスターツールより送信しました。
今のところ、Google マップでの検索結果に表示はされていないようですが、しばらくすると表示されるのではないかと楽しみにしているところです。KMLを使用することで、他のユーザーと地理情報が共有できるようになることに面白さを感じています。
KMLの生成
Shimalogは、Movable Type 4.2を使用して記事を掲載しています。そのため、新たにKMLを生成するテンプレート、及びKML一覧を生成するテンプレートを作成しました。記事更新と共に自動的にKMLが作成できるため、今回KMLを使用開始したことによる作業負荷の増加はありませんでした。
- 経度・緯度はgeoマイクロフォーマットで以前より使用するために入力していました。
このKMLにより、Shimalogに少しでも新たな価値が生まれればと思っています。