SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Perlで作るモバイルサイトのコツ

Perlで作るモバイルサイトのコツ:第3回

携帯電話の位置情報を取得する


  • X ポスト
  • このエントリーをはてなブックマークに追加

WILLCOM 位置情報検知サービス

 位置情報検知サービス対応端末で利用できます。「WILLCOM:ウィルコムの電話機向けホームページの作成方法」で仕様が公開されています。

 下記のパラメータをWILLCOMの位置情報取得用のURL(http://location.request/dummy.cgi)に送信します。

位置情報検知サービス送信パラメータ
パラメータ 説明
my 遷移先URL
pos $location(固定)
aタグでの位置情報送信例
<a href="http://location.request/dummy.cgi?
my=http://example.com/sample5.cgi&pos=$location¶m1=foo">送信</a>
位置情報検知サービス受信パラメータ
パラメータ 説明
pos 緯度経度 例)N35.33.22.150E135.22.33.121
sample5.cgi
#!/usr/bin/perl
use strict;
use CGI;

my $q = CGI->new;
my ($lat,$lon) = $q->param('pos') =~ /^([N|S][\d\.]+)([E|W][\d\.]+)$/;
my $param1 = $q->param('param1');
print $q->header(-charset=>'Shift_JIS'),<<END;
<html>
<body>
latitude:$lat<br>
longitude:$lon<br>
param1:$param1
</body>
</html>
END

パラメータの引継ぎ

 位置情報の送信と取得は、間にキャリアへの遷移をはさむため、サイト側で必要な情報がある場合は、位置情報送信時に引き継がせる必要があります。

 ですがキャリアによって、このパラメータの引継ぎの制限が厳しいものもあるので注意が必要です。

パラメータの引継ぎ
キャリア 制限
iモード arg1arg2パラメータに引き継ぐパラメータを渡す
EZweb パラメータを引き継げない
Yahoo!ケータイ aタグ、formタグでパラメータを渡せる
WILLCOM aタグ、formタグでパラメータを渡せる

 以下の例ではapacheのrewriteを利用して、URLの一部をパラメータと見立てて環境変数に格納し、プログラム内で参照しています。

 このようにURLの一部をパラメータとして扱えばEzwebの簡易位置情報でもパラメータを引き継げ、全キャリアで引継ぎ方法を統一することもできます。

位置情報送信例
<a href="device:location?url=http://example.com/
foo/bar/sample6.cgi">送信</a>
apacheのrewriteの例
RewriteEngine On
RewriteRule ^/([^/]+)/([^/]+)/sample6.cgi /sample6.cgi
 [E=PARAM1:$1,E=PARAM2:$2,L]
sample6.cgi)
#!/usr/bin/perl
use strict;
use CGI;

my $q = CGI->new;
my $lat = $q->param('lat');
my $lon = $q->param('lon');

#PARAM1にfoo、PARAM2にbarが入ります
print $q->header(-charset=>'Shift_JIS'),<<END;
<html>
<body>
latitude:$lat<br>
longitude:$lon<br>
param1:$ENV{'PARAM1'}<br>
param2:$ENV{'PARAM2'}<br>
</body>
</html>
END

まとめ

 今回の紹介で基本的な位置情報の取得方法については理解していただけたと思います。派手な機能とは言えないかも知れませんが、いつも持ち歩く携帯ならではの機能と言えるのではないでしょうか。

 ぜひ、皆さんのアイデアと結びつけて素晴らしいサービスを生み出してください。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Perlで作るモバイルサイトのコツ連載記事一覧

もっと読む

この記事の著者

笹塚 清二(ササヅカ セイジ)

株式会社ライブドア メディア事業部 モバイルメディア部所属ケータイライブドア(http://m.livedoor.com(携帯専用))を主に担当

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/630 2008/08/26 13:43

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング