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

作ってみました 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なんだけどなー。よくわからんけど、最終的には上記のような(ヘッダもちゃんと送る)コードで動いている模様。

その他参考資料

Published At2005-06-03 00:00Updated At2005-06-03 00:00