携帯GPS位置情報

GPS位置情報とは

まず、携帯に実装されたGPSチップを使って衛星からの電波を受信した後、各社の位置サーバに送信します。GPS観測結果が 不十分でもサーバで補正してくれるのでGPS測位はかなり正確です。ただ時間が掛かるのが難点。意外な注意点も。
  • DoCoMoの場合
  • auの場合
  • SoftBankの場合
  • iPhoneの場合

DoCoMoの場合

と書くだけです。送り先に、lat, lon, x-accが送信されます。
出力フォーマットは、lat=+DD.MM.SS.SSS, lon=+DDD.MM.SS.SSSです。x-accは 測位精度測位精度(1-300m以上,2-50-300m,3-50m以下)です。
GPS対応機種でなくてもlcs記述はエラーになりませんが、送信先には何も送られません。
参考:DoCoMo技術資料

auの場合

と記述すればいいようです。まずGPS観測結果をGpsOneサーバに送信して、現在位置の情報を取得します。次に送り先サーバに lat, lon, fmを送ります。
fm (fix mode)とは測位推定に用いた方法のことで、

  • 0 - GPS Fix(誤差10m程度)
  • 1 - Hybrid Fix(GPS観測結果と基地局観測結果から推定。誤差200m程度)
  • 2 - AFLT Fix(基地局観測のみを使用。誤差500-1km程度)
  • 3 - Prefix AFLT(詳細不明)
  • 4 - Sector Center(地下街など)
  • 5 - Free(詳細不明)
出力フォーマットはlat=+DD.MM.SS.SS, lon=+DDD.MM.SS.SS。測地系はWGS84です。 簡易位置情報と異なりlat, lonの先頭に「+」サインがついてくるので注意してください。
auはGpsOneに対する公式技術情報を公開していません。(なぜ?)

注:私の体験ですが、GPS測位は2度目の方が精度がいいです。アシストデータが全く無い時はあまり正確な位置を示しません。 au携帯GPSで正確は位置を計測したい時は2回続けて行うのがいいと思います。(2008/02)

SoftBankの場合

と記述します。出力フォーマットの例はpos=N35.40.53.00E139.45.57.97です。geo=wgs84ならWGS84測地系です。
x-acrに測位精度(1-300m以上,2-50-300m,3-50m以下)も通知されるようです。
参考:SoftBank技術資料

iPhoneの場合

iPhoneの場合には、Javascriptを使います。まず、ページが読み込まれた時にnavigator.geolocation.watchPositionmeメソッドにて 緯度、経度情報を取得し、ドキュメント変数に格納します。getCurrentPositionメソッドでもいいのですが、一度では 正確な位置情報が取得できない場合がありますので、watchPositionをお勧めします。

次にボタンが押された時に、ドキュメント変数から必要な位置情報(緯度、経度)を取り出し、location.hrefの リンク先情報の一部として埋め込んでやればOKです。

この手順で、ブラウザから現位置情報を取得する手順は、iPhoneでもPCブラウザFireFox3.5以上でもサポートしてくれるようです。 GPSがないデバイスでは、WiFi情報を利用して位置を決めてくれます。自宅では500mほど離れた場所になりましたので 概略位置情報としては十分使えそうです。

実行時には、「位置情報を利用します。よろしいですか?」の確認メッセージがでます。これは携帯3社の方式と似ていますね。

位置情報取得の例 (iPhoneまたはFireFox3.5以上のみ)

参考情報:W3C Geolocation API Specification

  • TOP
  • 携帯GPS位置情報


Copyright © ktailab.net. All Rights Reserved. テンプレート by ネットマニア