2008-03-24
■[Mobile] 3キャリア(+Willcom)位置情報取得方法まとめ(総括編)
しばらく、位置情報取得で煮詰まってました。
でも一通り把握したからといって次回は楽になる・・・というほど単純じゃないのがつらいところ。
やはりそれぞれのキャリアの違いを全て吸収するインターフェースが必要かなと思います。
で、それなりに出来上がってたりするんだけど公開しちゃおうかなぁ・・・と検討中。
ちなみに各キャリアを比較するとこんな感じですね。
■[Mobile] 3キャリア(+Willcom)位置情報取得方法まとめ(ドコモ編)
NTT Docomo には オープンiエリア検索 と GPS検索の2種類がある。
■オープンiエリア検索
リンク元の記述方法
例:http://XXX/XXX.php に位置情報を送信する場合
<a href=" http://w1m.docomo.ne.jp/cp/iarea?ecode=OPENAREACODE&msn=OPENAREAKEY&nl=http://XXX/XXX.php&arg1=aaa%3dhogehoge&arg2=&posinfo=2">ここをクリック</a>
リンク先URL
http://w1m.docomo.ne.jp/cp/iarea?
パラメータ:ecode(必須)
OPENAREACODE(固定)
OPENAREAKEY(固定)
パラメータ:nl(必須)
パラメータ:posinfo(任意)
1の場合は「緯度経度」と「エリアコード」を送信する。
2の場合は「緯度経度」のみ送信。
パラメータ:arg1(任意)
パラメータ:arg2(任意)
送信先に渡したい引数を指定することができる。
[ aaa=hogehoge ]を送りたい場合はURLエンコードして[ arg1=aaa%3dhogehoge ]という形にする。
受け取り方法
メソッド:POST
例:
?ACTN=OK&LAT=%2B34.18.18.164&LON=%2B134.4.44.955&GEO=wgs84&XACC=1&POSINFO=2
全てキーが大文字なので注意が必要。
ACTN
OKと入る
LAT
LON
XACC
測位レベル1〜3の値。水平誤差が [3]50m以内。[2]50m〜300m。[1]300m以上
AREACODE
基地局エリアコード 5桁数値
POSINFO
送信したposinfoの値と同値
arg1やarg2で指定した引数
上記の例のように[ arg1=aaa%3dhogehoge ]という形で指定した場合は[ aaa=hogehoge ]が返る
注意点
UserAgentはわたるがUTN(固体識別番号)は返らない。
詳細情報
「作ろうiモードコンテンツ」リニューアルのお知らせ | サービス・機能 | NTTドコモ
■GPS検索
aタグやformタグに対して lcs という属性を付与することによって可能になる。
リンク元の記述方法
例:http://XXX/XXX.php に位置情報を送信する場合
<a href="http://XXX/XXX.php" lcs>ここをクリック</a>
受け取り方法
メソッド:GET
例:
?lat=%2B35.00.35.600&lon=%2B135.41.35.600&geo=wgs84&x-acc=3
全てキーが大文字なので注意が必要。
lat
lon
x-acc
測位レベル1〜3の値。水平誤差が [3]50m以内。[2]50m〜300m。[1]300m以上
alt
高度 +10 など
詳細情報
■[Mobile] 3キャリア(+Willcom)位置情報取得方法まとめ(AU編)
リンク元の記述方法
例:http://XXX/XXX.php に位置情報を送信する場合
<!-- 簡易位置情報の場合 --> <a href="device:location?url=http://XXX/XXX.php">ここをクリック</a> <!-- GPSの場合 --> <a href="device:gpsone?url=http://XXX/XXX.php&ver=1&datum=0&unit=0">ここをクリック</a>
リンク先URL
device:location?
※GPSの場合のパラメタ(&ver=1&datum=0&unit=0)は送る必要があるかどうかは不明だがとりあえずそのまま送る。
受け取り方法
メソッド:GET
例:簡易位置情報の場合
?datum=tokyo&unit=dms&lat=%2B34.18.18.164&lon=%2B134.4.44.955
例:GPSの場合
?datum=0&unit=0&lat=%2B34.18.18.164&lon=%2B134.4.44.955&alt=33&time=20061021144922&smaj=104&smin=53&vert=41&majaa=96&fm=2
lat
緯度座標DMSタイプ ±DD.MM.SS.SSS (+は省略されることがある)
lon
経度座標DMSタイプ ±DD.MM.SS.SSS (+は省略されることがある)
datum
簡易位置情報:「tokyo」と返ってくるが実際は wgs84
GPS位置情報:「0」が返る。wgs84 であることを示す。
unit
度数表記
簡易位置情報:「dms」と返ってくる。DMS表記であることを示す。
GPS位置情報:「0」が返る。DMS表記であることを示す。
alt
高度
ほかにもGPSの場合
ver GPSのバージョン
time 時間
smaj 長軸半径誤差
smin 短軸半径誤差
vert 高度誤差
majaa 誤差楕円長軸角度
fm 測位方法?
などがある。
注意点
測位レベルをあらわす指標がない。fm値などを使って推測できるらしい。
詳細情報
■[Mobile] 3キャリア(+Willcom)位置情報取得方法まとめ(Softbank 3G編)
Softbank には 簡易位置情報 と S!GPS機種の2種類があるが、同一のインターフェースで取得可能。
リンク元の記述方法
例:http://XXX/XXX.php に位置情報を送信する場合
<a href="location:auto?http://XXX/XXX.php">ここをクリック</a>
リンク先URL
location:auto?[転送先URL]
受け取り方法
メソッド:GET
例:
?pos=N34.18.18.164E134.4.44.955&geo=wgs84&x-acr=3
緯度経度座標DMSタイプ [N|W]DD.MM.SS.SSS[E|W]DD.MM.SS.SSS
x-acr
測位レベル1〜3の値。水平誤差が [3]50m以内。[2]50m〜300m。[1]300m以上
詳細情報