半年以上前ですが、携帯の位置情報をつかって、現在地周辺で登録されたスポットを返すというプログラムを作りました。
とりあえず覚えているうちにメモです。
位置情報を受け取って処理するURLが http://mspec.jp/sample/gps/locate.php だとした場合、位置情報を取得するためのHTMLタグは各社以下の通りです。
<!-- Docomo --> <a href="http://mspec.jp/sample/gps/locate.php">Docomo位置情報取得</a> <!-- au --> <a href="device:gpsone?url=http://mspec.jp/sample/gps/locate.php&ver=1&datum=0&unit=1&acry=0&number=0">au位置情報取得</a> <!-- Softbank --> <a href="location:auto?url=http://mspec.jp/sample/gps/locate.php">Softbank位置情報取得</a> <!-- Willcom --> <a href="http://location.request/dummy.cgi?my=http://mspec.jp/sample/gps/locate.php&pos=$location">Willcom位置情報取得</a>
これで、位置情報が帰ってきます。
ユーザーエージェント判定とか事前にして出しわけする必要がありますけど。
位置情報はGETの引数で返ってきます。
それぞれ
データ | 引数名 | 内容備考 |
緯度 | lat | フォーマット(±dd.mm.ss.sss) |
経度 | lon | フォーマット(±dd.mm.ss.sss) |
測地系 | geo | 世界測地系でほぼ固定みたいです。気にしません。 |
測位レベル | x-acc | 座標の誤差レベルです。この値によって以下のように誤差が出るようです。
3→水平誤差50m未満 2→水平誤差50m以上300未満 1→水平誤差300m以上 |
Docomoは超シンプル。非常にハンドリングがしやすかったです。
つづいてau。
データ | 引数 | 内容備考 |
測地系 | datum | 測地系を表す値です。どうやら二種類帰ってくるようです。
0→WGS-84測地系 1→東京(日本)測地系 |
表記方法 | unit | 緯度経度の表記方法です。うやら二種類帰ってくるようです。
0→dms(ddd.mm.ss.sss:度分秒単位) 1→degree(dd.dddd:度単位) |
緯度 | lat | unitの値によって表記法が変わります。 |
経度 | lon | unitの値によって表記法が変わります。 |
auがはもっといっぱい返ってきます。誤差も3種類くらいのパラメータで返ってきます。
イマイチよくわからないので、放っておきました。
さらにSoftbank。
データ | 引数名 | 内容備考 |
緯度経度 | pos | 緯度経度一緒に返ってきます。
Ndd.mm.ssEddd.mm.ss.sss といった形で度分秒表記の頭にそれぞれ 東経→E 西経→W 北緯→N 南緯→S がついた形で返ってきます。 |
測地系 | geo | それぞれ、以下の値で帰ってきます。 wgs84→世界測地系 tokyo→日本測地系 itrf →ITRF 系 |
測位レベル | x-arc | Docomoと一緒です。
3→水平誤差50m未満 2→水平誤差50m以上300未満 1→水平誤差300m以上 |
緯度経度が一緒についてくるので、少し厄介。
最後にWillcom。
データ | 引数名 | 内容備考 |
緯度経度 | pos | 緯度経度一緒に返ってきます。
Ndd.mm.ssEddd.mm.ss.sss といった形で度分秒表記の頭にそれぞれ 東経→E 西経→W 北緯→N 南緯→S がついた形で返ってきます。 |
むちゃくちゃシンプル。
位置情報しか返ってきません。
とまあ、以外にあっさりと位置情報がとれてしまいます。
あとは、プログラム側で測地系の変換やら、表記法の変換やらをかけます。
これがまた大変だったりするんですが、そのあたりはまた機会があれば書きます。
1 comment on “携帯電話の簡易位置情報の利用”