トップ «前の日記(2005-06-02) 最新 次の日記(2005-06-04)» 編集

2002|01|02|03|04|05|06|07|08|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|02|03|04|07|

2005-06-03 [長年日記]

_ 前にどこかに書いた気がするし (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がオブジェクトだったらオブジェクトダンプしたりとか、出力ごとの時間を出力したりとか、そういう拡張をするとさらに便利。

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

その他参考資料

Tags: PHP GPS 携帯
本日のTrackBacks(全3件) [TrackBack URL: http://tdiary.ishinao.net/tb.rb/20050603]

元ネタ;au携帯でハンディGPS (モイモラ) ほほー!と思い、自分でもやってみたくなって色々調べてみました。 ・ au携帯GPSで位置情報を連続取得する (2...