最近の携帯電話にはGPSの機能が付加されたものがたくさん出てきています。

携帯電話は、今年4月より発売される新機種から、GPSに対応することが総務省より義務付けられております。

今回はそんなGPS情報を携帯でWebから取得する方法をご紹介します。

1.au端末での取得方法

auのGPS携帯では、2つの位置情報取得方法があります。ひとつは、基地局から位置情報を取得する方法で簡易位置情報です。もうひとつはGPS衛星と基地局から位置情報を取得する方法です。

二つの方式の違いは位置情報の精度にちがいがあります。今回は精度が高い方式で取得する方法をご紹介します。また、GPS非対応機種では取得できません。ご注意ください。

それではさっそく、auの端末から位置情報を取得する方法を作成してみましょう。

■追記
KDDIではGPSのパラメータについて契約を結んだコンテンツプロバイダー以外に開示しておらず,以下の情報は筆者が独自に調査したものです。KDDIの公式な情報ではありませんので,自己の責任に基づきご利用ください。 [2008/08/21 19:16]
<a href="device:gpsone?url=[GPSを処理するスクリプトのURL]&ver=1&datum=0&unit=1">
GPS情報の取得</a>

■戻り値の説明

ver  :GPSのバージョン 
datum :測地系(0:WGS84 1:tokyo)
unit  :経度緯度の表記方法( 0:dd.mm.ss.sssの度分秒表記 1:dd.dddの度表記)
lat  :緯度
lon  :経度
alt  :高度 
time  :時間 YYYYMMDDHHiiss
smaj  :長軸半径誤差 
smin  :短軸半径誤差 
vert  :高度誤差 
majaa :誤差楕円長軸角度 
fm   :測位方法(数値が少ない程、精度が高いみたいです)

※戻り値はGETで返します

2.DoCoMo端末での取得方法

FOMAのGPS対応機種での取得方法になります。また、GPS非対応機種のFOMAでは取得できません。ご注意ください。

<a href="[GPSを処理するスクリプトのURL]" lcs>

■戻り値の説明

lat :緯度(全て±dd.mm,ss.sssの度分秒表記)
lon :経度(全て±dd.mm,ss.sssの度分秒表記)
geo :測地系( wgs84 tokyo )
x-acc:測位レベル(3:水平誤差<50m 2:50m≦水平誤差<300m 1:300m≦水平誤差)

※戻り値はGETで返します

3.SoftBank端末での取得方法

3GC型での簡易位置情報の取得方法になります。
3GC型以外では取得できません。ご注意ください

hrefの中身にlocationスキームを使用する。location:後は(cell:簡易位置情報 gps:S!GPSナビ auto:端末で優先された測位)のいずれかを指定します。

<a href="location:auto?url=[GPSを処理するスクリプトのURL]">

■戻り値の説明

pos  : N**.**.**.**E***.**.**.**
座標値(1/100秒単位で度分秒表記 N は北緯、Sは南緯、Eは東経、Wは西経)
geo  : wgs84 測地系(wgs84 tokyo itrf)
x-acr  : 精度(1:簡易位置情報(300m以上)
2:S!GPSナビ(50m~300m) 3:S!GPSナビ(50m以内))

※戻り値はGETで返します

4.WILLCOM端末での取得方法

位置情報検知サービスで位置情報を伝える仕組みを使用します。一部の機種では取得できません。(W-ZEROシリーズなど取得方法は以下の通りです。)

<a href="http://location.request/dummy.cgi?my=[GPSを処理するスクリプトのURL]
&pos=$location">

※「location.request/dummy.cgi?」はそのまま記述します。

■戻り値の説明

[GPSを処理するスクリプトのURL]?pos=N**.**.**.**E**.**.**.**
pos  : 座標値/緯度経度順、dd.mm.ss.sssの度分秒表記
(N は北緯、Sは南緯、Eは東経、Wは西経)

※戻り値はGETで返します

このように携帯電話のGPSを取得することによって、GPSをデータを使用したWebサービスを作成することが可能になります。



(アシアル 笹亀弘)


この記事は、アシアルが運営するPHP開発者のためのポータル&コミュニティサイト「PHPプロ!」で毎週配信しているPHP・TIPSメーリングリストを再録したものです。
同サイトでは、他にもPHP最新ニュースや、困ったときのQ&A掲示板、初心者向けのPHP講座など、PHP開発者をサポートする情報を掲載しています。