「KML」MapsもEarthもKMLにお任せ
KMLは、Googleの地図系サービスで共通に利用できる、XMLで記述された地理情報ファイル形式だ。基調講演ではGoogle Earthプラグインのデモを披露したGoogle シニアデベロッパープログラムエンジニアのMano Marks氏は、このセッションではKMLを使ったGoogle Earthの拡張手法を多くのデモを交じえて語った。
Marks氏はKMLの可搬性の例として、次のようなデモをまず示した。Google Mapsのマイマップを開き、マーカーとコメントを配置する。続いてこのマーカーオブジェクトのKMLをエキスポートするが、このファイルの中にはマーカーの位置やスタイル、海抜などの情報が記載されている。Google EarthでそのKMLファイルをインポートすると、設定した座標にマーカーとコメントが同様に配置される。ちなみに、マイナスの値の海抜、つまり海面下を指定することについては「KMLでは指定可能ではあるものの、Google Earth側で対応していないのであまり意味がない」とMarks氏は会場からの質問に答えた。
続いて時間ベースのアニメーションの例として、東京の人口をポリゴンと色を使って立体的に示し、時系列のスライダーで人口の増減をアニメーションする。地図を移動しても画面内の固定位置に存在する年やタイトルなどは、静的なスクリーンオーバレイとして実装されているという。アニメーション内で時間を扱うモデルとしては、特定の期間で表示・非表示を定義する「タイムスパン」と、特定の瞬間で指定する「タイムスタンプ」の2つがある。時間の指定には紀元前の指定も可能とのことだ。
既存のGoogle Maps APIを使ったアプリケーションをKMLで置き換えるべきか否かをどう判断すべきかという問いに、Marks氏はマーカーなどのデータ量が少ないならばそのまま動的なMaps APIを利用し、データ量が多いときにはKMLなどのXMLベースのものを利用するのがよいのではないか、と答えた。ただ、KMLのイベントハンドルはオブジェクトの出現・消去といった程度にとどまっており、より高度なアクションが必要なときには別途JavaScriptで記述する必要があるともMarks氏は述べた。
また、Marks氏は、基調講演でも見せたGoogle Earthプラグインを1つのページに4つ貼り付けて個々を独立して動かすという例を示した。ただ、帯域制限の問題か、読み込みに時間がかかったり、4つのうちの1つはエラーを起こして動作できないなど、ネットワーク環境独特の課題は残されたようだ。
次回の記事では、Google Maps API for Flashのデモンストレーションの模様と、Google認定APIエキスパートたちの姿をご紹介する予定だ。お楽しみに。