おれさま手帖 KYOTO-STYLE :auのgps携帯電話での連続位置更新


DiaryHome| 管理用:

見出し



日記過去ログ

1999: 6 7 8 9 10 11 12
2000: 1 2 3 4 5 6 7 8 9 10 11 12
2001: 1 2 3 4 5 6 7 8 9 10 11 12
2002: 1 2 3 4 5 6 7 8 9 10 11 12
2003: 1 2 3 4 5 6 7 8 9 10 11 12
2004: 1 2 3 4 5 6 7 8 9 10 11 12
2005: 1 2 3 4 5 6 7 8 9 10 11 12
2006: 1 2 3 4 5 6 7 8 9 10 11 12
2007: 1 2 3 4 5 6 7 8 9 10 11 12
2008: 1 2 3 4 5 6 7 8 9 10 11 12
2009: 1 2 3 4 5 6 7 8 9 10 11 12
2010: 1 2 3 4 5 6 7 8 9 10 11 12
2011: 1 2 3 4 5 6 7 8 9 10 11 12
2012: 1 2 3 4 5 6 7 8 9 10 11 12
2013: 1 2 3 4 5 6 7 8 9 10 11 12
2014: 1 2 3 4 5 6 7 8 9 10 11 12
2015: 1 2 3 4 5 6 7 8 9 10 11 12
2016: 1 2 3 4 5 6 7 8 9 10 11 12
2017: 1 2 3 4 5 6 7 8 9 10 11 12
2018: 1 2 3 4 5 6 7 8 9 10 11 12
2019: 1 2 3 4 5 6 7 8 9 10 11 12
2020: 1 2 3 4 5 6 7 8 9 10 11 12
2021: 1 2 3 4 5 6 7 8 9 10 11 12
2022: 1 2 3 4 5 6 7 8 9 10 11 12
2023: 1 2 3 4 5 6 7 8 9 10 11 12
2024: 1 2 3

最近のキーワード

+ ■ あらまし

auの携帯電話にはGPS機能を有するものがある。この読み込みには、au携帯電話が解するHDML言語を用いて、device:gpsoneでアクセスするのだが、HDML言語での自動リロード機能を用いれば、連続的に位置情報を更新することができる。

■ <1-5> GoogleMapを用いたリアルタイム表示の組み合わせ

→「imakoko!」の欄を参照。

+ ■ サンプルプログラム

http://hpcgi1.nifty.com/kinseijin/tmp/

GPS対応のau移動機に上記アドレスを打ち込めば、定期的にログを書き込みに行くようになります。興味のある人は遊んでみてはどうでしょうか。ただ、排他処理を全然してないのでお遊び程度と思ってください。

PCからでもlogに書かれた場所を見ることはできます。マピオンは旧測地系のみ、うおっちずとmapfanは新測地系のみ対応です。なので、違ったものだとずれます。携帯電話からだったら、NAVITIME(「ナ」って書いたやつ)を推奨します。

2005年4月6日の日記

+ ■ 7行プログラミング

をみて、上のプログラムが、79文字×7行でプログラミングする「7行プログラム」のネタとして良いのではないかと思い、試してみた。

○ <3-1> シェバング抜いて9行

だめでした…○| ̄|_

#!/usr/local/bin/perl
$_=$s=$ENV{QUERY_STRING};$u="http://$ENV{HTTP_HOST}$ENV{SCRIPT_NAME}";
$r="device:gpsone?url=$u&ver=1&datum=0&unit=0&acry=0&number=0";$l='+>>log';
$h=$k="Content-Type: text/x-hdml;¥n¥n";$k=‾s/x-hd/ht/;open(L,$l);$a='';$c='
';$z='';if(/^log$/){@y=; foreach(reverse @y){$d.="$a¥"http://map.navitime.jp/?$_¥">$_$c"} $d="$k$b LOG

$d$z"}elsif(/^.+$/){seek L,0,2;print L "$s¥n"; $d="$h"; $d.="$s"}else{ $d=qq($k$b GPS

$a"$r">Start$c$a"$u?log">ReadLog$c$z)}print $d;close L;

ブツはhttp://hpcgi1.nifty.com/kinseijin/tmp/mgl.cgiにおいときます。動作確認はそこでやってみてください。

一応使い方を説明しておくと、

○ <3-2> シェバング抜いて8行

1行縮めた。でももういっぱいいっぱいなので無理でしょう。

#!/usr/local/bin/perl
$u="http://$ENV{HTTP_HOST}$ENV{SCRIPT_NAME}";$z='';$c='
'; $r="device:gpsone?url=$u&ver=1&datum=0&unit=0&acry=0&number=0";open L,'+>>log'; $_=$s=$ENV{QUERY_STRING};$a='';$m='http://map.navitime.jp/?';if(/^log$/){@y= ;for(reverse @y){$d.="$a$m$_¥">$_$c"}$d="$k$b LOG

$d$z"}elsif(/^.+$/) {seek L,0,2;print L "$s¥n";$d="$h$s"}else{ $d=qq($k$b GPS

$a$r">Start$c$a$u?log">ReadLog$c$z)}print $d;close L;
○ <3-3> シェバング抜いて7行

SevenLinesの中の人(闇主さん)に縮めてもらったスクリプトは以下のとおり。すごいっす。

#!/usr/local/bin/perl
$u="http://$ENV{HTTP_HOST}$ENV{SCRIPT_NAME}";($h=$k="Content-Type: text/x-hdml
¥n")=‾s/x-hd/ht/;sub a{qq($_[1]
¥n)}open L,'+>>log ';$r="device:gpsone?url=$u&ver=1&datum=0&unit=0&acry=0&number=0";$_=$ENV{'QUER' .'Y_STRING'};print/^log$/?("$k LOG

",map{chomp;a"http://map.navitime.jp" ."/?$_",$_}reverse):/^.+$/?do{print L"$_¥n";"$k$_<) ."/HDML>"}:("$h GPS

",a($r,Start),a"$u?log",ReadLog)

2005年6月7日の日記 2005年6月18日の日記


[Top] [Homepage] [Diary]