blog.ishinao.net

36月/05

au携帯GPSで位置情報を連続取得する (20:09)

作ってみました hvsGpsMail」でサービスが紹介されていたんだけど、自分でいろいろいじってみたかったんで、自分版のひな形PHPスクリプトを作ってみた。

<?php
$interval = 60 * 10;  //refresh interval(sec)
$scriptUrl = 'http://server/location.cgi';  //this script url
$subscriberId = NULL; //your subscriber id or NULL
if (isset($subscriberId) && $subscriberId != $_SERVER['HTTP_X_UP_SUBNO']) {
die('invalid subscriber-id');
}
$now = time();
if (isset($_GET['lat'])) {
$lat = $_GET['lat'];
$lon = $_GET['lon'];
// メールで送るなりファイルやDBに保存するなり
}
header('content-type: text/x-hdml;charset=shift_jis');
?>
<HDML VERSION=3.1 MARKABLE=TRUE TTL=0>
<DISPLAY TIMERDEFAULT=<?php echo $interval * 10 ?>>
<ACTION TYPE=ONTIMER TASK=GO DEST="device:gpsone?url=<?php echo $scriptUrl ?>&ver=1&datum=0&unit=0">
NOW: <?php echo date('Y-m-d H:i:s', $now); ?><BR>
LAT: <?php echo isset($lat) ? $lat : 'UNKNOWN' ?><BR>
LON: <?php echo isset($lon) ? $lon : 'UNKNOWN' ?><BR>
<a href="device:gpsone?url=<?php echo $scriptUrl ?>&ver=1&datum=0&unit=0">REFRESH!</a>
</DISPLAY>
</HDML>

で、何をしようかなー。旅行とかツーリングとかの移動記録の自動化なんかには使えそうだけど。

修正

なんか俺のサーバーだとtext/x-hdmlヘッダをつけるとうまく動かないな。つけない(=text/html)とうまく動いている模様。ひとまずヘッダ出力部分はコメントアウトしておこう。

あとMARKABLE=TRUEをつけておかないと、このページをブックマークできないみたいなんで追加。そんな指定があったんだっけ。もう二度とHDMLなんて書かないと思っていたのになー。

さらに修正@6/6

結局text/x-hdmlヘッダをつけないとうまく動かなかった。EZWebのキャッシュが悪さをしていたのか? でもTTL=0なんだけどなー。よくわからんけど、最終的には上記のような(ヘッダもちゃんと送る)コードで動いている模様。

その他参考資料

このエントリーを含むはてなブックマークはてなブックマーク - au携帯GPSで位置情報を連続取得する (20:09) Share on Tumblr このエントリをつぶやくこのWebページのtweets
Filed under: 日記 No Comments
36月/05

前にどこかに書いた気がするし (16:22)

どこかで誰かが似たようなことを書いてもいるだろうけど、JavaScriptでprintデバッグしたい場合は、

<script language="javascript">
var debugWindow;
function h(str) {
return str.replace('&', '&amp;').replace('<', '&lt;').replace('>', '&gt;').replace('"', '&quot;');
}
function debugInit() {
if (debugWindow != undefined && debugWindow.document != undefined) {return;}
debugWindow = window.open('about:blank');
}
function debugPrint(str) {
debugInit();
debugWindow.document.write(h(str) + '<br>');
}
</script>

とかした方が、メインのウィンドウを汚染しなくていいよね。strがオブジェクトだったらオブジェクトダンプしたりとか、出力ごとの時間を出力したりとか、そういう拡張をするとさらに便利。

このエントリーを含むはてなブックマークはてなブックマーク - 前にどこかに書いた気がするし (16:22) Share on Tumblr このエントリをつぶやくこのWebページのtweets
Filed under: 日記 No Comments