現在,訳あってWebで活用できる地図検索APIを調べている。地図検索APIとは,Web上のオンライン地図検索サービスが公開しているAPIのことだ。APIを使うことで,ユーザーは自分のWebページで地図を活用したアプリケーションを無償で作れる。Googleマップの「Google Maps API」がその代表例である。
Googleに対抗して,米Microsoftが力を注いでいる検索サービス「Live Search」にも地図検索機能がある。国内でも2006年11月から日本語版(ベータ版)が利用可能になった。Live Search地図検索では,外部から利用可能なAPIをSDKという形で提供している。それがVirtual Earth SDKだ。
しかし,Google Maps APIに比べると,Virtual Earth SDKの知名度は非常に低い。日本法人のマイクロソフトは,今年の1月からようやく開発者向けに情報提供を積極的に始めたばかりで,Web上にも活用例などの情報はまだ少ない。SDKでどの程度のことができるのか,実際に自分で触れてみた。
Virtual Earthは,Live Search地図検索を実現するプラットフォームという位置付けになっている。Live Searchの画面上では,左上のロゴに小さく「powered by Virtual Earth Beta」と表示されている。
Virtual Earth SDKの情報は,開発者向けのサイト「Windows Live Dev」にある。ここでVirtual Earth SDKのリンクをクリックすると,Virtual Earth Interactive SDKというページに飛ぶ。
Virtual Earthが提供するSDKは,正確にはInternet Explorer上で動作するActiveXコントロール(Virtual Earth Map Control V4.0)の機能群だ。そのためVirtual Earth Interactive SDKは,Map Controlが提供するクラスやメソッドの詳細や,サンプル・アプリケーションとそのソースコードを参照できるオンライン型のリファレンス・ページになっている。
SDKで利用可能な機能を一通り見てみると,Webページに地図を埋め込んで見せるという基本機能に加えて,ズーミング,表示位置の移動,地図と航空写真の切り替え,任意の位置に刺せるプッシュピン,地図上での線画──といったLive Search地図検索とほぼ同等の機能を使えることがわかる。
さらに,地図を3Dで表示する機能や,2地点間の最短/最速経路探索を行うといった機能もある。しかし,これらは日本語版のLive Search地図検索ではまだサポートされていない。
大まかに言えば,Virtual Earthは,Web上のGoogleマップと独立の地図ソフトであるGoogle Earthの機能をいくつか併せ持つものと言えよう。それをWebブラウザだけで実現している点が特徴であると同時に,実現可能なブラウザがInternet Explorerに限られるという弱点を持っている。
Virtual Earth Interactive SDKのコードを参考にしながら,実際にサンプル・アプリケーションを作った。ここでは,あえてGoogle Maps APIがまだ備えていない経路探索の機能を使ってみた。
リスト1は,弊社(港区白金1-17-3)を基準に,品川,目黒,恵比寿の各駅までの経路探索を行うサンプルだ。radio buttonでいずれかの駅を選択すると,各駅までの経路を表示する。しかし,前述の通り日本語版では経路探索機能をサポートしていないので,結果はすべてとんちんかんな道順になってしまう(図1)。
|
リスト1●Virtual Earth SDKを使ったサンプル・アプリケーション |
| |
図1●サンプル・アプリケーションの実行画面 [画像のクリックで拡大表示] |
コードを見ればわかるように,最初にLoadMapメソッドで地図を表示し,GetRouteメソッドで2地点間のルート探索を行っているだけだ。地図検索APIは,簡単なコーディングでインタラクティブなアプリケーションをさっと作れるところがおもしろい。特に,GetRouteメソッドは日本語版で正式に使えるようになったら,何かと使い出がありそうだ。
しかし,地図の特定の位置を指定するのに,経度/緯度を度形式(35.630151といった値)で指定しなければならないのはやっかいだ。あらかじめ弊社や各駅の経度/緯度を調べておく必要がある。やはり,Google Maps APIのように,住所から緯度/経度を割り出すジオコーディングの機能が欲しい(日本語では試せないが,GetRouteメソッドは2地点を地名などで指定することができるようだ)。
Google Maps APIの機能や開発事例の豊富さを考えると,今あえてVirtual Earth SDKを使う必要性はあまりないかもしれない。特に日本語環境では,目玉になる3D表示や経路探索がまだ使えないのが痛い。
とはいえ,現状でも「Virtual Earth Tour Editor」のように,ユニークなサンプル・アプリケーションも作れる。要は,アイディア次第ということだ。地図検索APIについては,今後も注意深くウォッチしていきたいと思う。