Firefox 3.5 からは、位置情報通知機能 (Geolocation API) が標準搭載に
本日から Firefox 3.5 の正式ダウンロードが開始されました。
これまでのバージョンでは Geode などのプラグインの形で提供されていた位置情報通知機能が標準搭載されるようになっています。 これで、Wi-Fi が使える PC であれば、ユーザの現在地を取得できるようになるわけです。 以前使われていた Geode の代わりに、Google の Geolocation サービスが採用されることになりました。
例によって早速実装してみました。
http://lab.cirius.co.jp/FirefoxGeolocationTest
(Firefox 3.5 以降のブラウザで閲覧してください。)
まず、他のブラウザの位置情報通知機能と同じく、位置情報を通知して良いかどうかを聞かれます。
![]()
(クリックで拡大します)
"許可"ボタンを押すと、現在地が地図上に表示されると思います。
実装方法は上のページを見てもらえればわかりますが、
navigator.geolocation.getCurrentPosition(handleSuccess, handleError);
というメソッドを利用して、現在地を取得することができます。
handleSuccess には、タイムスタンプと nsIDOMGeoPositionCoords の入ったオブジェクトがパラメータとして渡され、その中に緯度経度などが入ってきます。また、上記のページでは使っていませんが、watchPosition 関数を使い、定期的に位置情報をアップデートすることも可能です。
navigator.geolocation.watchPosition(handleSuccess, handleError);
というメソッドで、イベントハンドラを登録するだけです。ここで、「あれ?どこかで見たことある」と思った方もいるかもしれません。
なぜかというと、実は以前の記事で書いた iPhone 用の Geolocation API と同様の仕様なのです。
以前作った iPhone 用のテストページ (http://lab.cirius.co.jp/geoloc.html ) を Firefox 3.5 で見ると、動作するのがわかると思います。
さすが W3C で標準化されつつあるだけあって、同じコードで動作するようになっているんですね。
まだ試せていませんが、結果オブジェクトの仕様を見てみると、heading や speed などのプロパティもあるようです。
ちなみに、geolocation 機能が使えるかどうかは、以下の if 文で判定できます。
if (navigator.geolocation) {
/* geolocation is available */
} else {
alert("I'm sorry, but geolocation services are not supported by your browser.");
}
他のブラウザも追随してくると思います。位置情報を使っているサイトはこの機能を使ったサービスを実装してみてはいかがでしょうか。
関連記事
ついに iPhone Safari ブラウザから位置情報を取得できるようになります - Cirius Lab. ブログGears の Geolocation API の Wi-Fi 測位を使ってみた - Cirius Lab. ブログ
Firefoxの位置情報把握アドオン「Geode」を使ってみた - Cirius Lab. ブログ
Google ClientLocation API を使って IP アドレスから現在地を取得 - Cirius Lab. ブログ
参考URL(外部リンク)
Firefox 3.5 ダウンロードページFirefox 3.5 の位置情報通知機能
Firefox Geolocation API 仕様
トラックバック(2)
このブログ記事を参照しているブログ一覧: Firefox 3.5 からは、位置情報通知機能 (Geolocation API) が標準搭載に
このブログ記事に対するトラックバックURL: http://lab.cirius.co.jp/blog/cgi-bin/mt-tb.cgi/43
ウェブブラウザー「Firefox」を改良した新バージョン「3.5」が米国時間6月30日早朝(日本時間7月1日未明)、世界同時公開される。 Firef... 続きを読む
æ°ä»ããããFirefox 3.5ããiPhoneã®ãã©ã¦ã¶ã§ä½ç½®æ å ±åã... 続きを読む
- Cirius Lab.内リンク
- ラボトップ
- Geo Platform API
- ジオメディアサービス
- 最近のブログ記事
- 実践:GeoKit と iPhone で作る位置情報アプリケーション(後編)
- 実践:GeoKit と iPhone で作る位置情報アプリケーション(中編)
- 実践:GeoKit と iPhone で作る位置情報アプリケーション(前編)
- WEB+DB プレスで、位置情報サービスの特集を書きました
- 7/30(金) ジオメディアサミット名古屋
- 機は熟した。ジオメディアが今熱い:第5回ジオメディアサミット開催しました。
- 第5回ジオメディアサミット、ライトニングトーク登壇者決定!
- 第5回ジオメディアサミットライトニングトーク枠争奪バトル
- 第5回ジオメディアサミット開催いたします!
- クックパッドさんとの合同勉強会:実践的な開発の裏側
コメントする