laclefblog logo

Mon, 31 Mar 2008

DoCoMo携帯電話とGPSによる位置取得

iモードブラウザに表示するコンテンツ内に、GPS位置情報を取得するためのタグを配置する。

aタグの場合

<a href="CGI_PATH" lcs>

formタグの場合

<form method="get" action="CGI_PATH" lcs>
  <INPUT type="submit" name="gpssubmit" value="Submit">
</form>

CGI_PATHによって示されたファイルに、GETメソッドで以下のパラメータに基づくGPS位置情報が送信される。

  • lat: latitude(緯度)、度分秒(±dd.mm.ss.sss)による
  • lon: longitude(経度)、度分秒(±ddd.mm.ss.sss)による
  • geo: datum(測地系)、世界測地系(WGS84)に固定
  • x-acc: accuracy(測位レベル)、3(水平誤差50m未満)/2(水平誤差50m以上300m未満)/1(水平誤差300m以上)

Pythonによる値取得例

import cgi
form = cgi.FieldStorage()
lat = form.getvalue('lat')
lon = form.getvalue('lon')
# geo = form.getvalue('geo')
# acc = form.getvalue('x-acc')
print "Latitude: " + lat + " / Longitude: " + lon

Webサービスと連携する場合、緯度/経度の書式が度分秒形式か度形式かを確認する必要がある。例えば、Google Mapsは度形式、Mapionは度分秒形式。

また、日本測地系(TOKYO)にしか対応していないサービスもあるので、注意が必要。