Googleから、Gears API というブラウザをオフラインで使用するための拡張機能が提供されています。その中の一つに、Geolocation APIという機能が用意されています。
このGeolocation API を使うと、GPS、WI-FI、IPアドレスといった情報から、ブラウザ利用者の位置を取得することができるようになります。
端末にGearsがインストールされている必要がありますが、位置取得のためのコードは、JavaScriptを使ってシンプルに書くことができます。
var geo = google.gears.factory.create('beta.geolocation');
geo.getCurrentPosition( function(
pos) {
alert('lat:' + pos.latitude + ',lon:' + pos.longitude);
});
一方Firefoxには、「Geode」という似たような機能をもつアドオンが提供されています。
こちらはWI-FIからの位置情報のみですが、JavaScriptを使って同じように記述することができます。
navigator.geolocation.getCurrentPosition(function(pos) {
alert( pos.latitude + ", " + pos.longitude );
})
よーくみてもらうとわかるのですが、Geodeの位置情報取得コードは、GearsのGeolocationAPIとまったく同じ名称のオブジェクトとメソッドが使われています。
これはどういうことかというと、実はGeolocation API自体が、W3Cによって策定が進められているオープンな仕様なのです。
-Geolocation API Specification
さらにいうと、W3CのGeolocation API Specification策定には、GoogleのGeolocation API開発者が大きく関わっているようなのです。
このGeolocation API SpecificationはHTMLの次バージョンであるHTML5で標準化される方向に進んでいるようです。
※追記 GeolocationとHTML5は別物だとコメントをいただきました。
Gearsについては、Database APIとHTML5の「Client-side DB」が対応していたりと、HTML5のテクノロジープレビュー的な意味合いも持っているのかもしれません。
今のところは一部ブラウザのアドオン機能でしかないGeolocation APIではありますが、HTML5に採用されるようになると、ブラウザが標準で機能を提供するようになりますので、一気に広まることが期待されます。
特にiPhoneのSafariでは、HTML5のローカルキャッシュをすでに実装しているという流れもあり、HTML5準拠のGeolocation APIを実装してくることは、ほぼ間違いないように思います。
今までは、
携帯電話のGPSから位置情報の取得をキャリア別に実装したり、
PlaceEngineを使ってWI-FIから位置情報を特定したり、
IPアドレスから位置情報を割り出すデータベースを利用したり
様々な位置情報取得技術を個別で実装する必要がありました。
今後はこういった作業から開発者が解放され、位置情報を活用したサービスがますます増えていくことが期待されるのであります。
最近のコメント