位置情報サービスのはじめ方

第2回 位置情報を取得してみよう(前編)

この記事を読むのに必要な時間:およそ 3.5 分

au

通常

<a>タグのhref属性,<form>タグのaction属性にdevice:gpsoneを指定します。

その際,以下の内容をパラメータを設定します。

url位置情報を取得したあとに戻ってくるurl。
verバージョンを示す。現在のところ固定値の1だけ指定可能。
datum測地系を指定する。0がwgs84の世界測地系,1が日本測地系となる。
unit取得する緯度経度のフォーマットを指定する。0が度分秒,1が度のフォーマットになる。
acry緯度経度の精度。現在のところ固定値の0のみ指定可能。
number要求する測位回数を指定。現在のところ固定値の0のみ指定可能。

上記パラメータで緯度経度取得を行うと,urlで指定したリンク先に,以下のようなパラメータが送信されます。

ver,datum,unitリクエストで送信したそれぞれの値。
lat緯度。フォーマットはunitで指定したもの。
lon経度。フォーマットはunitで指定したもの。
alt海抜高度。
time位置情報を測位した時間(JST)⁠フォーマットはYYYYMMDDHHMMSS。
smaj,smin,vert,majaa誤差値など。
(※smaj以外の値は「正確ではないので利用しないでください」という注意書きが公式の技術仕様で言及されている)
fm測位結果の精度。
簡易

<a>タグのhref属性,<form>タグのaction属性にdevice:locationを指定します。

その際に以下の内容をパラメータを設定します。

url位置情報を取得したあとに戻ってくるurl。

上記パラメータで緯度経度取得を行うと,urlで指定したリンク先に,以下のようなパラメータが送信されます。

datum測地系。戻り値はtokyo固定となっている。
(※tokyoと返りますが,測地系はWGS84(世界測位系)であることに注意してください)
unit緯度経度のフォーマット。dmsの度分秒固定。
lat緯度。
lon経度。

softbank

通常

<a>タグのhref属性,<form>タグのaction属性にlocation:gpsを指定します。

その際,以下の内容をパラメータを設定します。

uri緯度経度を測位した後,遷移するURL。

上記パラメータで緯度経度取得を行うと,urlで指定したリンク先に,以下のようなパラメータが送信されます。

pos位置。度分秒表記。緯度経度は「.」で連結され,北緯はN,南緯はS,東経はE,西経はWが先頭に付く。
geo測地系。wgs84が世界測地系,tokyoが日本測地系。
x-acr測位精度。1~3の値で,精度が最も高いのが3になる。
簡易

<a>タグのhref属性,<form>タグのaction属性にlocation:cellを指定します。

送信パラメータ,受信パラメータについては通常の場合と同じなので割愛します。

デバイス/取得方法によるHTMLの表記方法の違いを以下のページにまとめてみました。

キャリア/取得方法によって表記内容が異なるため,実際にプログラミングを行う際は,テンプレートエンジンのマクロ機能などを利用して,キャリアごとの細かい属性値の表示切替はマクロ内に隠蔽し,テンプレート上からは特定の関数を呼び出すだけにしておくとよいでしょう。

はてなココでは,Template::Toolkitにimakokoというマクロを用意して,以下のように,変数を与えることで,取得方法を変更したり,⁠イマココ」といったリンクの文字列を変更できるようにしています(PCのときは,次回解説するJavaScriptでの位置情報取得に切り替わるようになっています)⁠

[%~ PROCESS imakoko a = {lite = 1, label = 'お試しイマココ'} ~%]

また,各キャリアでのより詳細な技術情報はそれぞれ以下のサイトに記載されています(ソフトバンクのみ,閲覧には無料の開発者登録が必要です)⁠

docomo
au
softbank

次回予告

第2回目は,携帯電話(フィーチャーフォン)での位置情報の取得方法についてまとめました。

次回は,JavaScriptを使った位置情報の取得方法について解説します。

著者プロフィール

栗栖義臣(くりすよしおみ)

株式会社はてな。Java, JavaScript, ActionScript, Perlなどをたしなむ。

優秀な若手エンジニアたちに囲まれながら奮闘する毎日。

URL : http://d.hatena.ne.jp/chris4403/

技術ネタ : http://d.hatena.ne.jp/chris4403+tech/